rubyの配列展開について

gold対策(基礎力確認問題2)。
 

通常の配列展開

はこんな感じ。
p で警告はでますが出力はされます。

a = [0, 1, 2]
p a
p *a # !> `*' interpreted as argument prefix
# >> 0
# >> 1
# >> 2

*付き変数に突っ込む

実コードでは、あんまりやらないとは思いますが
試験でもこれっぽいのが出て間違えてしまった気がします。

x, *y = *[0, 1, 2]
p x # => 0
p y # => [1, 2]
x, *y = [0, 1, 2]
p x # => 0
p y # => [1, 2]

ここで右辺の*はなくても一緒。
どうでもいいですが、ここら辺は重箱の隅というか引っかけという感があります。
 

変数と配列の要素数が異なる場合

x, y = [0, 1, 2]
p x # => 0
p y # => 1

a, b, c, d = [0, 1, 2] # !> assigned but unused variable - d
p a # => 0
p b # => 1
p c # => 2
p d # >> nil

変数の方が多い場合は警告が出ます。