2d массив, нажатие на один массив отображается во всех массивах?

я новичок в рубине, поэтому яЯ явно что-то недопонимаю. Я намеревался создать массив размера 2, где каждый элемент сам является массивом, а затем помещать элементы в один или другой подмассив:

#!/usr/bin/env ruby
arr = Array.new(2, Array.new)

puts 'default, no entries:'
arr.each_with_index { |a, i| puts 'arr[' + i.to_s + '] = ' + a.to_s }
puts ''

puts 'adding "kitty" to arr[0]:'
arr[0].push('kitty') # add an element to the sub-array at arr[0]
arr.each_with_index { |a, i| puts 'arr[' + i.to_s + '] = ' + a.to_s }
puts ''

puts 'adding "doggy" to arr[1]:'
arr[1].push('doggy') # add an element to the sub-array at arr[1]
arr.each_with_index { |a, i| puts 'arr[' + i.to_s + '] = ' + a.to_s }

выход:

default, no entries:
arr[0] = []
arr[1] = []

adding "kitty" to arr[0]:
arr[0] = ["kitty"]
arr[1] = ["kitty"]

adding "doggy" to arr[1]:
arr[0] = ["kitty", "doggy"]
arr[1] = ["kitty", "doggy"]

Я ожидаю, что arr [0] .push () добавит элемент в arr [0] [0], это неправильно?

Ответы на вопрос(2)

Ваш ответ на вопрос