我有一个数组的数组,想要向子数组添加元素。+=可以实现我的需求,但我想知道为什么push不行。
我期望(并且使用+=正常工作)的行为是:
a => [["苹果", "橘子", "青蛙"], ["苹果", "橘子", "青蛙"], ["苹果", "橘子", "青蛙"]]
希望能对您有所帮助。
我期望(并且使用+=正常工作)的行为是:
b = Array.new(3,[])
b[0] += ["apple"]
b[1] += ["orange"]
b[2] += ["frog"]
翻译:
b => [["apple"], ["orange"], ["frog"]]
使用 push 方法,我将被推送的元素添加到每个子数组的末尾(为什么?):
a = Array.new(3,[])
a[0].push("apple")
a[1].push("orange")
a[2].push("frog")
a => [["苹果", "橘子", "青蛙"], ["苹果", "橘子", "青蛙"], ["苹果", "橘子", "青蛙"]]
希望能对您有所帮助。