Perl, Podprogramy (41.díl)

Napsal O webu (») 1. 7. 2008 v kategorii Programování, přečteno: 1335×
obrazky/logo_perl.jpg

Návratová hodnota

Návratovou hodnotou funkce může být jakákoliv hodnota. Je možné vracet číslo, řetězec, pole, hash, odkaz apod. Návratovou hodnotou funkce je hodnota posledního vyhodnoceného výrazu uvnitř těla funkce.



sub soucet {

my $soucet = 0; $soucet += $_ for @_;

return $soucet;

}




Funkci "return" ukončí provádění funkce a návratovou hodnotou je potom výraz, který je funkci "return" předán jako argument. Funkci "return" použijeme také v případě, že chceme opustit funkci s nějakou návratovou hodnotou ještě před tím, než bychom normální cestou vyhodnotili všechny výrazy.



sub soucin {

my $soucin = shift;

for (@_) {

$soucin *= $_;

return 0 unless $_;

}

return $soucin;

}




Rekurze
Funkce v Perlu lze volat rekurentně, to znamená, že funkce ve svém těle volá sama sebe. Jak je to s předáváním argumentů takto volané funkci? Použijeme-li za jménem funkce kulaté závorky, bude funkci předán seznam argumentů uvedený v těchto závorkách (závorky musejí být použity). Bude-li seznam v závorkách prázdný, funkce nedostane žádné argumenty. Voláme-li funkci bez závorek a s prefixem &, jako seznam argumentů je předáno pole @_.



sub faktorial {

my $n = shift;

if ($n == 0) {

return 1;

}
else {

return $n*faktorial($n-1);

}
print faktorial(5);

// vytiskne 120





A to by bylo pro dnešek všechno. V dalším díle se podíváme na prototypy a na konstantní funkce. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.


Autor: Robert Habrman
Štítky: Perl
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 šest a nula