-1
这里是我的代码:为什么添加元素到特定的子数组会影响给定数组的所有子数组?
but = Array.new(2, []) # => [[], []]
but[1] << 1
but # => [[1], [1]]
如果我创建使用这样的数组:
but = [[], []]
则不会出现此问题。然而,我需要包含到but
中的子数组的数量不是一个稳定的变量,我知道Array.new
,循环等的替代方法很麻烦。
为什么会发生这种情况? but[1] << 1
是否只影响一个特定的子元素?
你是什么意思的“问题不会发生”? – sawa