複数の変数を a = b = c = d = 5 のように割り当てるのは正しいですか? 質問する

複数の変数を a = b = c = d = 5 のように割り当てるのは正しいですか? 質問する
a = b = c = d = 5

puts (a) >> 5
puts (b) >> 5
puts (b) >> 5
puts (b) >> 5
a= a+1
puts (a) >> 6
puts (b) >> 5

このように値を割り当てることに問題はないことがわかりました。質問は、上記のように割り当てるべきか、それともこのように割り当てるべきかということです。

a , b, c, d = 5, 5, 5, 5

ベストアンサー1

ここで注意すべきことは、あなたのケースがうまく機能するのは、Rubyでは数値が不変だからだということです。しないこれを文字列、配列、ハッシュ、または数値以外のほとんどすべてのオブジェクトで実行することは望ましくありません。同じオブジェクトへの複数の参照が作成されるため、これはほぼ確実に望ましくありません。

a = b = c = d = "test"
b << "x"
=> "testx"
a
=> "testx"

一方、並列形式はすべての型で安全です。

a,b,c,d = "test","test","test","test"
=> ["test", "test", "test", "test"]
b << "x"
=> "testx"
a
=> "test"

おすすめ記事