|
|
Na delší dobu jsem se odmlčel, za což se velmi omlouvám. Bohužel pro pracovní vytížení nebyl čas na napsání dalšího článku. Po 14 článcích věnovaných jazyku Ruby následuje jeho další pokračování, tentokrát se na několik dílů ponoříme za taji vytváření, volání a dalším nakládání s metodami.

Během našich toulkách jazykem Ruby jste se již mnohokrát setkali s metodami. Například od metody puts po metodu length.
pokud máte zkušenosti s jinými programovacími jazyky jako jsou například Java, C++, PHP a další tak Vám určitě tento pojem slova metoda nebude cizí. Zkrátka je to určitá konstrukce kódu, pod kterou můžeme psát jednotlivé části našeho programového díla a poté tyto části volat pomocí jednoho jména. Nemusíme tak třeba stále dokola psát kód na vypsání pozdravu, vytvoříme si metodu, která se bude jmenovat pozdrav , do ní vepíšeme patřičný kód a poté v kódu jen zavoláme název metody, tedy pouze pozdrav.
V Ruby bychom to udělali například takto:
def pozdrav
puts “AHOJ JÁ JSEM POZDRAV POCHÁZEJÍCÍ Z METODY.”
end
kdekoli v našem kódu poté stačí vypsat
pozdrav
Vypíše se daný pozdrav, nemusíme tedy znovu psát puts “AHOJ JÁ JSEM POZDRAV POCHÁZEJÍCÍ Z METODY.” U takovéhoto jednoduchého příkladu se to může zdát zbytečné, ale zkuste si představit delší, složitější kód, psát ho celý znovu, tak to byste určitě nechtěli
To jsme si vlastně před chvilkou ukázali. Metoda začíná slovem def , poté následuje název metody, případné argumenty metody, tělo metody a slovo end, které ukončuje metodu:
def název metody(argumenty metody)
tělo metody
end
Ještě bych měl něco říci o argumentech metod. Metoda nemusí mít nutně argumenty. Náš předcházející příklad je například nemá.
Jak již bylo řečeno, metoda nemusí obsahovat argumenty, ale pokud bychom je chtěli metodě přiřadit, udělali bychom to velice jednoduše a to sice takto:
def pozdrav(pozdraveni)
puts pozdraveni
end
Tady vidíte, že to skutečně není nic těžkého, metodu bychom poté v našem kódě mohli volat takto:
pozdrav(”Ahoj já jsem pozdrav z metody”)
A co kdybychom těch argumentů potřebovali více? Tak to je také jednoduché, prostě jednotlivé argumenty oddělíte čárkou:
def pozdrav(osloveni,pozdraveni,prani)
puts osloveni+” “+pozdraveni+”. “+prani
end
Metodu bychom poté volali takto:
pozdrav(”Ahoj”,”já jsem pozdrav z metody”,”Přeju ti krásný den.”)
Výsledek by byl takový: Ahoj, já jsem pozdrav z metody. Přeju ti krásný den.
Tady vidíte, že práce s metodami není nic těžkého. V dalším podívání si více povíme o argumentech a vrácení hodnot z metod.
Ahoj.
Nepleteš si náhodou pojmy metoda a funkce ? Metoda je součástí třídy. To co tu popisuješ je tedy funkce.
http://cs.wikipedia.org/wiki/Funkce_(programování)
http://cs.wikipedia.org/wiki/Metoda_(objektově_orientované_programování)
Jelikož jsem se celý díl o Ruby rozhodl psát pro začátečníky v tomto jazyku, a možná v nadneseném slova smyslu by se mohly články považovat za jakýsi tutoriál, tak v článcích zatím nic nepadlo o objektovém programování. Jelikož jazyk Ruby je objektovým jazykem, tak také to co tady nazýváš funkcí je v Ruby nazýváno slovem metoda. Ale v praktickém slova smyslu má stejný význam jako funkce.
To retro: A nepletes se nahodou ty? …. 1/ metoda muze byt definovana i na objektu a ne jen na tride 2/ diky tomu, ze ruby je opravdu objektove orientovany jazyk, tak i tohle je metoda definovana na objektu main … Na druhou stranu je to podle me uplne fuk, je to jen slovickareni, ale zacal jsi si s tim sam ![]()
Je to tak, že dnes je moderní říkat “metoda”.
Ale jedná se o funkci…
building articles…
Hello
Thanks heaps for this indeed!… if anyone else has anything, it would be much appreciated. Great website Just wanted to say thanks and keep doing what you’re doing! Ezines.M106.COM Enjoy!…
O programování a všem okolo využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články
a komentáře
Partnerská sekce pro IT profesionály:
Microsoft TechNet/MSDN