Mehrfachzuweisungen in Ruby

Die Mehrfachzuweisung von Variablen in Ruby verhält sich ein wenig anders als man es vielleicht erwarten würde.

var1, var2, var3 = "wert"

befüllt keineswegs alle drei Variablen mit dem String "Wert". Ruby erwartet stattdessen eine Liste oder ein Array

var1, var2, var3 = "wert", "wert", "wert"

Kein schöner Code...
Der einzige Workaround den ich zur Zeit für diese Problem gefunden habe ist

4.times do |i| eval( "@var" + i.to_s + "='wert'" ) end

Hierbei müssen die Variablen aber als Membervars mit @ ausgeschmückt werden, ansonsten würden Sie nur im Kontext des Blocks überleben.

Comments

Möglich ist doch auch

Möglich ist doch auch var1=var2=var3="wert", oder?

einfacher...

geht auch einfacher:

x, y, z = ['wert'] * 3

Henning