2014-11-21 11 views

Odpowiedz

11

przypisuje pierwszy element tablicy w użyciu Ruby multiple assignment:

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

Lub:

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

Można użyć * aby pobrać pozostałe elementy:

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

Lub:

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

Dobrze wyjaśnione .. z innymi opcjami 1+ –

6

To działa w ten sposób. Jeśli lhs ma jeden element, a rhs ma wiele wartości, to lhs zostaje przypisany do tablicy wartości, jak to.

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

lhs natomiast jeśli jest więcej elementów niż rhs, a następnie nadmiar elementy lhs odrzuca

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

Dlatego

a, = 1,2,3 #=> a = 1. Reszta to [2,3] są odrzucane