ruby silverの勉強をしていく中で間違えたところがあったのでその解説記事を挙げていきます
##多重代入
###基本的な使い方
a, b, c = 1, 2, 3
a
# => 1
b
# => 2
c
# => 3
##右辺の要素が左辺の要素よりも多い場合は無視される
a, b = 1, 2, 3
a
# => 1
b
# => 2
#この場合3は無視される
##右辺の要素が左辺の要素よりも小さい場合は無視される
a, b, c = 1, 2
a
# => 1
b
# => 2
c
# => nil
該当する要素がない場合は、nilになる
##残った要素は、配列として格納される
a, *b = 1, 2, 3
a
# => 1
b
# => [2, 3]
・残りの要素が1つの場合でも、配列になる
a, *b = 1 ,2
a
# => 1
b
# =>[2]
・残りの要素がない場合でも、配列になる
a, *b = 1
a
# => 1
b
# => []
#ネスト
(a, b), c, d = [1, 2], 3
a
# => 1
b
# => 2
c
# => 3
カッコを使うことで、ネストした配列の要素を代入することができる
#左辺にカッコを使って、右辺に何もつけないとき
(a, b), c = 1, 2, 3
a
# => 1
b
# => nil
c
# => 2
bにはnilが代入され、3は無視される
何か間違いがあったら、ご指摘いただけると嬉しいです!
【参考記事】