あいまいな質問を申し訳ありません。私はこの現象を説明する言葉のために失っているので、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
a
を変更することで、事実の後array
影響を受けているのはなぜ?
うんを与える
は、あなたが場合でも、ポインタを理解する必要があります:さておき、あなたは、あなたがオブジェクトのそれぞれに
object_id
を使用することができライアンの答えを確認したかったかのように彼らはポインタと呼ばれていません。 –
これはうまくいきませんが、私はまだオリジナルがなぜそうしたのか分かりません。私は指針を調べるだろうと思う。ありがとうございました – jack