タプルっぽい動きではあるが、そういう機構ではない。
環境
$ ruby -v ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
どういうものか
a,b = 1,2
のような記述の話。
上記のような個別になるが、格納先がひとつだと配列として入る
a = 1,2 #=> [1, 2] a.class #=> Array
原理
これは多重代入という名前で定義されているRubyの機能に準じる
多重代入は複数の式または配列から同時に代入を行います。左辺の 各式はそれぞれ代入可能でなければなりません。右辺の式が一つし か与えられなかった場合、式を評価した値は配列に変換されて、各 要素が左辺のそれぞれの式に代入されます。左辺の要素の数よりも 配列の要素の数の方が多い場合には、余った要素は無視されます。 配列の要素が足りない場合には対応する要素の無い左辺には nil が代入されます。 - 演算子式 (Ruby 2.6.0) - 多重代入