1
0

More than 1 year has passed since last update.

多重代入についてまとめてみました

Posted at

ruby silverの勉強をしていく中で間違えたところがあったのでその解説記事を挙げていきます
image.png

多重代入

基本的な使い方

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は無視される

何か間違いがあったら、ご指摘いただけると嬉しいです!

【参考記事】

1
0
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
1
0