next up previous contents index
Search Next: Anordnung Up: Operatoren Previous: Operatoren   Contents   Index


Zuweisungen

Zuweisungen sind in Ruby sehr flexibel, da sie mit mehreren Werten umgehen können:

a = 0                     #-> 0
b, c, d = (a += 1), (a += 2), (a += 3)
  #-> [1, 3, 6]
e = [b, c, d]             #-> [1, 3, 6]

# mehr Elemente als Variablen
f, g = e                  #-> [1, 3, 6]
[f, g]                    #-> [1, 3]

# mehr Variablen als Elemente
f, g, h, i = e            #-> [1, 3, 6]
[f, g, h, i]              #-> [1, 3, 6, nil]

# restliche Werte mit * in Array sammeln
f, *g = e                 #-> [1, 3, 6]
f                         #-> 1
g                         #-> [3, 6]

# Array mit * in Einzelwerte aufspalten
f, g, h = 0, *e           #-> [0, 1, 3, 6]
[f, g, h]                 #-> [0, 1, 3]
Auch bei tiefer verschachtelten Arrays kann man noch auf die einzelnen Objekte zugreifen. Allerdings sollte man seinen Programmierstil überprüfen, wenn man solche Sachen braucht ...

a, (b, c), d = [1, [2, 3], 4]
[a, b, c, d]              #-> [1, 2, 3, 4]



(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20