运行此代码时:
def someFunction(someArray)
(0...(someArray.size)).each do |i| someArray[i] += 1 end
return someArray
end
array = [0, 1, 2]
someFunction(array) # => [1, 2, 3]
array # => [1, 2, 3]
array
已更改。在C中,数组作为指针传递,但我认为Ruby确实没有通过引用传递#。这里发生了什么,我怎样才能确保一种方法不会改变它的范围以外的东西?