|
||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
Perl (6) - Funkce IIV dnešním díle se především dozvíme jaký je rozdíl mezi lokálními a globálními proměnnými a doplníme
ještě nějaké další zkutečnosti o funkcích.
Pro nás existovaly zatím pouze globální proměnné. To jsou proměnné, které mají prakticky platnost v každé části programového kódu. Takže ať jsme inicializovali proměnnou uvnitř nebo vně funkce (platí i pro jiné entity), tak jsme k proměnné mohli přímo přistupovat odkudkoliv - tzn. mohli jsme ji například vypsat zase vně nebo uvnitř funkce. Existují však ještě tzv. lokální proměnné - tzn. proměnné s omezenou platností. Tyto proměnné se definují ve funkcích a mají platnost právě pro dobu běhu dané funkce. Tzn. že k nim nemůžete přímo přistupovat z vnějšku funkce - a ani z funkce, která je do této funkce vnořena (uvidíme, že toto neplatí pro tzv. semiprivate variables). Jistě mi dáte za pravdu, že používání lokálních proměnných výrazně zvýší čistotu a zpřehlední strukturu programového kódu. A kdo používá funkce, měl by určitě používat i lokální proměnné. Docílí tím vlastně toho, že funkce budou skutečně úplně samostatné entity, ke kterým lze přistupovat pouze pomocí argumentů.
Lokální proměnnou zadefinujeme modifikátorem
my
$var; # jedna lokalni promenna Dále nutno říci, že globální a lokální proměnné mezi sebou nekolidují. Takže lze definovat lokální proměnnou se stejným názvem jako již existující globální proměnná - a naopak. Dokažme si na příkladu.
#!/usr/bin/perl -w
Pokud tento skript spustíme, měli bychom zjistit, že s globální proměnnou bash-2.05b$ ./test.pl Hodnota $var pred volanim funkce fce() je: false. Hodnota $var uvnitr funkce fce() je: true. Hodnota $var po volanim funkce fce() je: false. Důkaz sporem by mohl vypadat tak, že proměnná bash-2.05b$ ./test.pl Hodnota $var pred volanim funkce fce() je: false. Hodnota $var uvnitr funkce fce() je: true. Hodnota $var po volanim funkce fce() je: true.
Dále si řekneme něco o již zmíněných "semiprivate variables" - takže něco ve smyslu polo-lokální
proměnné. Tyto proměnné se definují modifikátorem
#!/usr/bin/perl -w Výpis tohoto skriptu bude vypadat takto: bash-2.05b$ ./test.pl Hodnota $var je: false. Hodnota $var je: true. Hodnota $var je: false. První volání funkce bash-2.05b$ ./test.pl Hodnota $var je: false. Hodnota $var je: false. Hodnota $var je: false. Doufám, že v této chvíli máte v lokálních proměnných jasno a budete je hojně používat - opravdu se to vyplatí.
|
Search Software
Search Google
|
||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |