如何在Array
中將self
更改爲全新陣列?我如何填寫下面的評論部分?是否可以改變一個Array對象的長度?
class Array
def change_self
#make this array be `[5,5,5]`
end
end
我明白這一點:Why can't I change the value of self?,知道我不能只分配給self
一個新的對象。當我這樣做:
arr = [1,2,3,4,5]
arr
包含對Array
對象的引用。我可以添加一個方法Array
類改變一個數組,喜歡的東西:
self[0] = 100
但有可能改變由arr
引用的數組的長度? 這些值如何存儲在Array
對象中?
你也可以使用[陣列#[\] =](http://ruby-doc.org/core-2.2.0/Array.html#method-i-5B-5D-3D):'arr = [1,2,3]; id = arr.object_id; arr [0..-1] = [4,5]; arr#=> [4,5]; arr.object_id == id#=> true'。 –