Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Seznamy Seznam = očíslovaná posloupnost skalárů Zápis seznamu do kulatých závorek: ("máslo")# jednočlenný seznam (1,2,3)# seznam se 3 členy ("jedna",2,3,"osm",100,$pozdrav)

Podobné prezentace


Prezentace na téma: "Seznamy Seznam = očíslovaná posloupnost skalárů Zápis seznamu do kulatých závorek: ("máslo")# jednočlenný seznam (1,2,3)# seznam se 3 členy ("jedna",2,3,"osm",100,$pozdrav)"— Transkript prezentace:

1 Seznamy Seznam = očíslovaná posloupnost skalárů Zápis seznamu do kulatých závorek: ("máslo")# jednočlenný seznam (1,2,3)# seznam se 3 členy ("jedna",2,3,"osm",100,$pozdrav) ()# prázdný seznam (2..7)# (2,3,4,5,6,7) print – seznamový operátor => netřeba závorek print "Výsledek je ", $prijmeni, "\n"; –tiskne 3členný seznam, nepřidává mezery !

2 Zápis seznamu řetězců Místo uvozovek (jednoduchých či dvojitých) lze použít operátory q nebo qq Operátor qw - nemusí (NESMÍ) se psát uvozovky: qw(máslo mouka sýr rozinky) –Místo závorek lze použít jiný oddělovač, stejně jako pro q, qq Mezi členy seznamu mohou být mezery, tabulátory, znaky konce řádku: qw[ máslo mouka sýr rozinky]

3 Seznamy a proměnné ($jedna, $dve) = (1,2); –totéž jako $jedna = 1; $dve = 2; ($tri, $ctyri) = ($jedna, $dve); –napřed se vyhodnotí seznam vpravo, ten se pak přiřadí do seznamu nalevo ($tri, $ctyri) = ($ctyri, $tri);# výměna obsahu dvou proměnných –Je to totéž jako $tri = $ctyri; $ctyri = $tri; ?

4 Pole (array) = zařízení na ukládání seznamů Název pole - dále stejná pravidla jako pro název proměnné Ukládání dat do polí: přiřazení seznamu: = = qw(máslo mouka sýr rozinky); Rozdíl print

5 Pole a je něco jiného než $pole ! NEDĚLEJTE TO !!! Ale lze přiřazovat skaláru = qw(máslo mouka sýr rozinky); $skalar print $skalar;# Výsledek je 4 = počet prvků pole print totéž Skalární kontext vs. seznamový kontext

6 Prvky pole Index pole - pořadí prvku pole Čísluje se od nuly = qw(nominativ genitiv dativ akuzativ vocativ local instrumental); print $pady[2];# co se vypíše? záporný index - odzadu: print $pady[-3]; Výpis více prvků najednou: proč tu není $ ? @pady[4..0] !

7 Prvky pole - pokr. Přiřazování prvků pole $pad1 = ($pad1,$pad3, $pad7) Zvl. proměnná $#pole - index posledního prvku pole Změna obsahu prvku pole - prosté přiřazení: $pole[2] = "třetí pád"; Vložení jiného = = print $pole2[2]; # co se vypíše?

8 Funkce na polích máslomoukasýrrozinky chléb pop rozinky push máslomoukasýr rum chlébrum máslomoukasýr shift máslo moukasýr unshift cukr chlébrum chlébrum sůl cukrsůl chléb/); "cukr", sůl");

9 Další funkce moukasýr splice cukrchlébrumsůl krupicetvaroh pole odkud kolik čím (seznam) Podobné jako u funkce substr, jenže pro prvky pole.

10 Funkce split Pracuje na řetězcích, výsledek je seznam $veta = "Dnes máme ale hezké = split(" ",$veta); "\n"; # co se vypíše ? split(vzor, řetězec) Vzor může být i více znaků.

11 Cyklus foreach foreach proměnná (seznam) { blok } foreach $pad { print $pad, "\n"; } Cyklus se opakuje tolikrát, kolik prvků má seznam Použití při procházení pole – s každým prvkem se něco provede Nelze nekonečný cyklus - výhoda

12 Cyklus for for (inicializace ; podmínka ; změna) { blok} for($i = 0; $i <= $#pady; $i++) { print $pady[$i], "\n"; } Použití deklarace my uvnitř cyklu neovlivní hodnotu proměnné vně $i = 666; for(my $i=10;$i>0;$i--) {print $i} print $i; # bude 666

13 Vnořené cykly = qw/konec exit quit leave stop/; while( ) { chomp; foreach my $k { last if ($k eq $_) } print "Stále jsme neskončili, říkáš $_!\n"; } print "Končíme\n";

14 Návěští = qw/konec exit quit leave stop/; VNEJSI: while( ) { chomp; VNITRNI: foreach my $k { last VNEJSI if ($k eq $_) } print "Stále jsme neskončili, říkáš $_!\n"; } print "Končíme\n";


Stáhnout ppt "Seznamy Seznam = očíslovaná posloupnost skalárů Zápis seznamu do kulatých závorek: ("máslo")# jednočlenný seznam (1,2,3)# seznam se 3 členy ("jedna",2,3,"osm",100,$pozdrav)"

Podobné prezentace


Reklamy Google