Funkce

Co jsou funkce? Pomocí funkcí lze dohromady sloučit několik příkazů, které je pak možné kdykoli v programu opětovn...


Co jsou funkce?
Pomocí funkcí lze dohromady sloučit několik příkazů, které je pak možné kdykoli
v programu opětovně použít. Nejjednodušší funkce bez návratové hodnoty se
vytvoří pomocí klíčového slova void. Za ním se uvede název nové funkce a kulaté
závorky (pro názvy funkcí platí stejná pravidla jako pro názvy proměnných).
Poté již následuje tělo funkce ohraničené složenými závorkami, které obsahuje
požadované příkazy. Následující stránka udělá totéž co předchozí ukázka, ale
tentokrát s použitím funkcí.

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Používání funkcí

Čarou oddělený text

vlka!"); oddelCarou(); Response.Write("Zdravíme naše sportovce!");
oddelCarou(); %>


Vytvořili jsme funkci oddelCarou, která zajistí odřádkování textu a vykreslení
vodorovné čáry, tedy věci, které měl zajistit kód, jenž se opakoval. Proto ho
můžeme nahradit pouze názvem funkce, která se má spustit. Všimněte si, že celý
kód je mnohem přehlednější, než byl v předchozím případě. Další výhodou
používání funkcí je snadná rozšiřitelnost. Představte si, že se dodatečně
rozhodnete vzhled stránky změnit a místo jednoduché čáry používat k oddělení
čáru dvojitou. Zatímco v prvním případě jste museli upravit všechny příkazy pro
vykreslení čáry, nyní stačí provést opravu jen v těle funkce a změna se
automaticky projeví všude tam, kde funkci voláte.
Funkce s parametry
V praxi se často setkáte s tím, že je kód, který se v programu opakuje, téměř
stejný, ale přesto se v několika detailech liší. Například vypisujete stále
stejně text, který je však pokaždé jiný. Nebo vykreslujete čáru, která má
pokaždé jinou délku a podobně. Abychom pro všechny použité případy nemuseli
psát zvláštní funkce, je možné vytvořit funkci, jejíž chování lze ovlivnit
pomocí parametrů. Parametry jsou proměnné, které se uvádějí do závorek za
jménem funkce. Tyto proměnné lze v těle funkce využívat a jejich hodnota bude
určena až při volání funkce. Předpokládejme, že chceme mezi jednotlivými
pozdravy vykreslit jen kratší čáru zarovnanou na střed, zatímco na začátku a na
konci bude mít čára plnou délku a bude zarovnaná doprava. Zde je upravený
příklad:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



Funkce s parametry

Čarou oddělený text

Response.Write("Zdravíme vlka!"); oddelCarou("center", 50);
Response.Write("Zdravíme naše sportovce!"); oddelCarou("left", 100); %>


Tělo funkce se tentokrát poněkud zkomplikovalo. Tag hr je totiž potřeba doplnit
o atributy align a width. A právě do těchto atributů se vkládají hodnoty
parametrů. Všimněte si, že když chcete, aby se ve výsledném řetězci objevily
uvozovky, musíte před ně napsat zpětné lomítko, jinak by byly mylně
interpretovány jako konec řetězce.
Dále je potřeba při volání funkce oddelCarou specifikovat, jak má oddělovací
čára v daném místě vypadat. Tak například ta první bude zarovnaná doleva a bude
mít délku 100 %. Další bude zarovnaná na prostředek a její šířka bude odpovídat
polovině šířky stránky. Že funkce vykreslí vždy požadovanou čáru, je vidět i na
obrázku.
Návratová hodnota
Některé funkce (funkce s návratovou hodnotou) mohou provádět operace, které
mají určitý výsledek. Například lze vytvořit funkci, která spočítá všechny
mezery v zadaném textu. Nebo ze zadaného textu odstraní všechny předložky apod.
V takovém případě je potřeba, aby funkce vrátila nějaký výsledek. Má-li mít
funkce nějakou návratovou hodnotu, je třeba nahradit klíčové slovo void v její
definici názvem datového typu výsledku operace. Dále je potřeba, aby byl na
konci takové funkce zadán příkaz return a za ním hodnota, jež je výsledkem
funkce. Vytvořme funkci, která vezme zadaný text, obalí ho tagem div a nastaví
mu zarovnávání na střed stránky. Pomocí této funkce můžeme pak snadno
formátovat text na stránce. Zde je zdrojový kód funkce:


Výsledek funkce je pak možné přiřadit do libovolné proměnné typu string a
zobrazit na stránce: Response.Write(zarovnanyText); %>
Dokonce je možné výsledek funkce dosadit přímo jako parametr jiné funkce.
Například takto: Response.Write(zarovnej("Ahoj!")); To je pro dnešek vše. V příštím dílu si povíme něco o objektech a jejich
používání.(pat) 6 1448

 









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.