Извините за смутный вопрос. Я не понимаю слов, чтобы описать это явление, поэтому Google не очень помог. Пожалуйста, обратите внимание на следующий код:Что случилось с тем, как рубин меняет переменные таким образом?
array = [["name", "age"]]
a = []
x = ["Joe 32",
"Tom 45",
"Jim 36"]
x.each do |line|
name, age = line.split(/\s/)
a[0] = name
a[1] = age
array.push(a)
end
array.each do |x|
puts x.join(" ")
end
Это производит:
name age
Jim 36
Jim 36
Jim 36
что противоречит тому, что я ожидал:
name age
Joe 32
Tom 45
Jim 36
Почему array
пострадавших после факта путем изменения a
?
Да, вы должны понимать, указатели, даже если они не называются указателями. –
Это работает, хотя я до сих пор не понимаю, почему оригинал этого не сделал. Думаю, я посмотрю на указатели. Спасибо – jack