LoginSignup
0
1

More than 5 years have passed since last update.

a=1,b=2,c=3...Rubyなのにカンマ区切りで代入しようとしたあなたへ送る1文字

Posted at

Ruby以外触っていると...

Rubyに戻った時、うっかりカンマ区切りで以下のように書いちゃいませんか?
そして、

a = 1, b = 2, c = 3
#=> [1, 2, 3]
a
#=> [1, 2, 3]

ってなってビビってませんか?

そんなあなたに送る一文字は,です。

a ,= 1, b = 2, c = 3
#=> [1, 2, 3]
a
#=> 1

ところで

そんなの知っているよという方、一瞬、なんでbは[2,3]にならないんだ?
と思いませんか?

多重代入でネストした配列を表現するなら、ちゃんと括弧でくくらないとだから、
b = (2, c = 3)
とは解釈されないんですね。

a ,= 1, (b = 2, c = 3)
#=> [1, [2, 3]]
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1