Ruby on Rails díl.9, Ruby - Operátor přiřazení

Napsal (») 10. 2. 2007 v kategorii Programování, přečteno: 1952×
obrazky/rubyonrailsn.pngIdeální webhosting pro Ruby on Rails je banan.cz.

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?

Štítky: Ruby on Rails
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel dvanáct a dvě