多重代入および配列展開 (Ruby)
[履歴] [最終更新] (2016/01/09 13:57:13)

サンプルプログラム

sample.rb

a,b = 1,2
p [a,b]

a,b = b,a # swap (右辺すべてが先に評価される)
p [a,b]

a,b = 1,2,3,4,5
p [a,b]   # はみ出した分は捨てられる

a,*b = 1,2,3,4,5
p [a,b]   # はみ出した分を捨てない (配列化)

c,d,e,f = *b  # 配列展開 (この場合*は省略可だか省略非推奨)
p [a,c,d,e,f]

出力例

$ ruby sample.rb 
[1, 2]
[2, 1]
[1, 2]
[1, [2, 3, 4, 5]]
[1, 2, 3, 4, 5]
関連ページ