5

私はこれを得た:

x,(y,z)=1,*[2,3]

x # => 1
y # => 2
z # => nil

zなぜが値を持っているのか知りたいですnil

4

1 に答える 1

9
x, (y, z) = 1, *[2, 3]

*右側のスプラットはインラインで展開されているため、次と同等です。

x, (y, z) = 1, 2, 3

左側のかっこで囲まれたリストは、ネストされた割り当てとして扱われるため、次と同等です。

x = 1
y, z = 2

3は破棄され、zに割り当てられnilます。

于 2015-06-06T03:52:11.570 に答える