2014-11-21 46 views

回答

11

它指定数组的第一个元素Ruby的multiple assignment

a, = [1, 2, 3] 
a #=> 1 

或者:

a, b = [1, 2, 3] 
a #=> 1 
b #=> 2 

可以使用*取回其余元素:

a, *b = [1, 2, 3] 
a #=> 1 
b #=> [2, 3] 

或者:

*a, b = [1, 2, 3] 
a #=> [1, 2] 
b #=> 3 
+0

很好解释..与其他选项1+ – 2014-11-21 09:36:58

6

它的工作原理是这样的。如果lhs具有单个元素并且rhs具有多个值,则lhs被赋值为一个数组,如下所示。

a = 1,2,3 #=> a = [1,2,3] 

而如果lhs具有比rhs以上的元素,然后在过量lhs元件被丢弃

a,b,c = 1,2 #=> a = 1, b = 2, c = nil 

因此

a, = 1,2,3 #=> a = 1。其余的[2,3]被丢弃

相关问题