Ruby on Rails díl.14, Ruby - Metody I.

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

Metody 1


V těchto dílech bych chtěl objasnit pár věcí které jsme tak trošku přeletěli.

Způsob volání metod

Metody jsou volány používáním následujících syntaxí:

metoda_jméno(parameter1, parameter2, …)


Jestli metoda nemá žádné parametry závorky obvykle mohou být opomenuty jak je tomu v následujícím příkladu:

metoda_jméno


Jestli nemáte v kódu potřebu použít výsledek metody ihned, Ruby dovoluje specifikovat parametry vynecháváním závorek:

výsledky = metoda_jméno parameter1, parameter2 # volání metody, bez používání závorek

# potřebujete závorky pouze jestli chcete pracovat s výsledkem ihned.
# ad. Jestli metoda vrací pole a my chceme obrátit pořadí prvků:
výsledky = metoda_jmenuje(parameter1, parameter2).reverse


Způsob definice

Metody jsou definované používání klíčového slova def následovaný jménem metody. Parametry metody jsou specifikované mezi závorkami, které následují po jméně metody. Tělo metody je ohraničeno touto definicí na vrcholu a slovem end ve spodní části. Na základě konvence názvy metod které se skládají z vícenásobných slov mají každé slovo oddělené podtržítkem.

Příklad:

def výstup_něco(hodnota)
puts hodnotu
end


Výstupní hodnoty

Metody vrátí hodnotu posledního vykonaného příkazu. Následující kód vrací hodnotu x+y.

def počítá_hodnota(x,y)
x + y
end


Explicitní příkaz může být také užíván k návratu z funkce s hodnotou, před koncem deklarace funkcí. Toto je účel když chcete ukončit smyčku nebo návratit z funkce následkem toho podmíněného výrazu.

Všimněte si, jestli užíváte "return" uvnitř bloku, ve skutečnosti vyskočíte z funkce, pravděpodobně to není to co chcete. Pro ukončení bloku, užívejte přerušení. Můžete připojit hodnotu k break, aby jste rozhodli co bude vráceným následkem toho bloku:

šest = (1..10).each {|i| break i jestli i > 5}


V tomto případě, šest bude mít hodnotu 6.

Implicitní hodnoty

A standardní hodnota parametru může být specifikovaná během definice metody k tomu, aby zastoupila hodnotu parametru jestliže neprošel do metody nebo jestliže hodnota parametru je nil.

def nějaká_metoda(hodnota='standard', arr=[])
puts hodnotu
puts arr.length
end

nějaká_metoda('něco')
`

Výstup metody výše:

něco
0

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

Komentáře

Č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 šest a čtyři