ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
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í.
Související články
Perl (1) - historie a vývoj
Perl (2) - instalace Perl (3) - skaláry I Perl (4) - skaláry II Perl (5) - Funkce I Perl (7) - Funkce III Perl (8) - Podmínky Perl (9) - Cykly Perl (10) - Pole Předchozí Celou kategorii (seriál) Další
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |