我想在声明散列值之后清除数组,并允许散列值保持不变。 这甚至可能吗?清除数组而不破坏引用
hash = {}
number= "number"
array = [1,2,3,4,5,6]
hash[number]=array
这是清除数组后的预期结果。
{"number"=>[1, 2, 3, 4, 5,6]}
我想在声明散列值之后清除数组,并允许散列值保持不变。 这甚至可能吗?清除数组而不破坏引用
hash = {}
number= "number"
array = [1,2,3,4,5,6]
hash[number]=array
这是清除数组后的预期结果。
{"number"=>[1, 2, 3, 4, 5,6]}
hash[number] = array.dup
array.clear
hash
=> {"number"=>[1, 2, 3, 4, 5, 6]}
如果您array
只包含简单对象(如整数是),你可以使用dup
方法。否则,你需要一个深层复制。
Yippee!这工作。 – olafsadventures
即使有其他对象,'dup'也是最好的选择,所以人们不可能想要克隆数组中的对象。 – akuhn
我想清除数组,这样我就可以在分配给散列后添加新元素。 – olafsadventures