Я совершенно новый для Руби. Я наткнулся на то, что не могу объяснить.Хранение массива в другой массив, получение неожиданного результата?
Вот мой код:
arr1 = []
arr2 = [0]
5.times{
arr2[0] += 1
arr1 << arr2
}
puts "result = #{arr1}"
Я ожидал следующий результат:
result = [[1],[2],[3],[4],[5]]
Однако это результат я получаю:
result = [[5],[5],[5],[5],[5]]
Может кто-то
объясните мне, почему это происходит? как я могу это исправить?
Большое спасибо,
Попробуйте 'arr1 + = arr2'. Я думаю, что вы добавляете один и тот же 'arr2' пять раз, поэтому он обновляется, даже когда он находится в' arr1' –