Přiřazení
Přiřazení v Ruby je provedeno pomocí operátoru rovná se "=". Toto platí pro proměnné i objekty, ale od té doby, co řetězce, floaty, a integery jsou objekty, vždy přiřazujete objekty.
Příklady:
myvar = ' myvar je nyní tento řetěz '
var = 321
dbconn = Mysql::newhost','root','password')
Vlastní přiřazení
x = 1 #=>1
x += x #=>2
x -= x #=>0
x += 4 #=>x bylo 0 tak x= + 4 # x je pozitivní 4
x *= x #=>16
x **= x #=>18446744073709551616 #zvýšení k síle
x /= x #=>1
A častá otázka z C a C++ je "Jak se inkrementuje proměnná? Kde jsou ++ a - - operátoři?" V Ruby by jste měli užívat x+=1 a x-=1 pro přičtení nebo snížení proměnné.
x = ' '
x.succ! #=>"b" : úspěch! tato metoda je definovaná pro String, ale ne pro Integer
Vícenásobná přiřazení
Příklady:
var1, var2, var3 = 10, 20, 30
puts var1 #=>var1 je nyní 10
puts var2 #=>var2 je nyní 20,var3...atd
myArray=%w(Johnova Michel Fran Adolf) # %w() může být užívaný jako syntatic sugar k tomu, aby zjednodušil vytváření pole
var1,var2,var3,var4=*myArray
puts var1 #=>Johna
puts var4 #=>Adolfa
jména,škola=myArray,'St.Jakýkoliv
jména #=>["John", "Michel", "Fran", "Adolf"]
školní #=>"St. Cokoliv"
Podmíněné přiřazení
x = find_something() #=>nula
x ||= "standard" #=>"standard" : hodnota x bude nahrazená pomocí "standard", ale jen jestli x je nula nebo nepravda
x ||= "další" #=>"standard" :hodnota x není nahrazená jestli to již je jiná než nula nebo nepravda
Operátor ||= je těsnopisná forma výrazu:
x = x || "neplnit"
Operátor ||= může být těsnopis pro kód jako je tento:
x = "(nějaké snížení ohodnotí)" if x.nil?