ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
Perl (9) - CyklyDnešní díl odhalí další příkazy pro řízení provádění skriptů - cykly. Cykly slouží v případě, že potřebujete nějaký blok opakovat do doby, než bude splněna určitá podmínka nebo proběhne vámi daný počet iterací.
První formou cyklu je příkaz
while (pravdivostni_vyraz) Nejprve se tedy vyhodnotí pravdivostní výraz a pokud je vyhodnocen jako pravda (true), tak se provedou příkazy v bloku, který patří danému cyklu. Po projití celého bloku se vyhodnotí pravdivostní výraz znovu a podle výsledku se buď provede další iterace (v případě true) a nebo se neprovede a celý blok se přeskočí a průběh kódu bude pokračovat až za tímto blokem (v případě false). Uveďme si konkrétnější příklad:
while ($input ne "syrup") Po spuštění skriptu budete dotázáni na heslo a na toto heslo budete dotazováni do doby, než zadáte správné heslo "syrup". Všimněte si, že pro práci se standardním vstupem se používá zápis <STDIN>.
Pokud budeme chtít provést příkazy v případě, že pravděpodobnostní výraz bude vyhodnocen jako
nepravda (false), můžeme použít příkaz
until (pravdivostni_vyraz) Další formou cyklů je struktura zápisu, kdy je vyhodnocení pravděpodobnostního výrazu prováděné na konci bloku - tzn. že blok proběhne minimálně jednou. Obecný zápis by vypadal takto:
do
Využívá se tedy kromě samotného příkazu
$pokus = 0; Toto je jakási "vylepšená" verze našeho skriptu, který jsem uvedl výše a dělá úplně to samé, pouze s tím rozdílem, že omezuje zadávání hesla na pět pokusů. Jinak tento příklad slouží pouze jako názorná ukázka fungování cyklů a nemá v této podobě praktického využití.
Při tvorbě iterací lze dále využít příkaz
for (pocatecni_hodnota; pravdivostni_vyraz; zmena_hodnoty) Iterace budou probíhat do doby než bude splněno pravdivostní vyhodnocení, kde první hodnota, která bude testována je první argument a jeho změna po každém průchodu je argument třetí. Argumenty jsou odděleny středníky. Pokud potřebujeme více výchozích hodnot nebo změn, lze je oddělit čárkami. Lepší bude ukázat si příklad:
for ($i=1; $i<=10; $i++) Tímto jsme vytvořili skript, který vytvoří deset iterací - tzn. tělo skriptu proběhne desetkrát. Nekonečný cyklus by mohl vypadat takto:
for (;;)
Již zmíněný příkaz
foreach $i (1
.. 10) Zápis "1 .. 10" charakterizuje vlastně pole, kde je deset prvků, které představují posloupnost čísel od 1 do 10. I když jsme pole ještě neprobírali, ukážeme si ten samý příklad s polem:
@pole = (1,2,3,4,5,6,7,8,9,10) Dále se podíváme na některé dodatkové a často potřebné příkazy k cyklům. Pokud budete chtít
"násilně" ukončit cyklus, i když ještě neproběhly všechny iterace, uděláte to příkazem
Pokud budete chtít ukončit aktuální (tzn. právě probíhající) cyklus, provedeme to příkazem
Příkaz
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 (6) - Funkce II Perl (7) - Funkce III Perl (8) - Podmínky 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 |