Perl, Datové typy (9.díl)

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

Pole a seznamy

V následujících dílech tohoto seriálu se podíváme na dva seznamové datové typy – na seznam a pole. Seznam je uspořádaná posloupnost skalárů a pole je proměnná, obsahující seznamovou hodnotu. Je.li vyžadována seznamová hodnota, je tam možné použít jak pole, tak seznam. Pouze v případě, že je nutné použít přímo pole (třeba u funkcí, které pole modifikují) není záměna možná.


K jednotlivým prvkům pole nebo seznamu lze přistupovat pomocí číselných indexů. Ty začínají od nuly a není možné stanovit se jejich vlastní rozsah pole jak je tomu v jiných programovacích jazycích, například v Pascalu. Prvkem pole může být pouze skalár, tj. číslo, řetězec nebo číslo, a každý z těchto prvků má přesně dané pořadí indexem. Nejmenší pole neobsahuje žádné hodnoty a o takovém poli říkáme, že je prázdné. Nikde se předem nedefinuje délka pole, ani není potřeba alokovat předem paměť. Délka pole, a tím i velikost pole v paměti, se dynamicky mění podle toho, jak prvky do pole přidáváme nebo odebíráme.

Seznamové literály

Seznamové literály mohou být výrazy, které vracejí jak skalární, tak i seznamové hodnoty. Hodnoty jsou odděleny čárkou a celý literál se v případě nutnosti ohraničuje kulatými závorkami. To je dáno použitými operátory ve výrazu. V následujícím kódu jsou uvedeny dva jednoduché příklady, které snad situaci kolem použití kulatých závorek objasňují.



1.

@pole = (1, 2, 3, 'banan', @pole2, funkce ());

// Zde musí být kulaté závorky, protože operátor = má vyšší prioritu než čárka
// Bez závorek by to bylo to same jako

(@pole = 1), 2, 3, 'banan', @pole2, funkce ();

2.

Print 1, 2, 3, 'banan', @pole2, funkce ();
//závorky nutné nejsou (ale možné), operátor čárka má vyšší prioritu než print.



Jestliže seznamový literál obsahuje jednoslovné řetězce (bez bílých znaků), je také možné takový seznam vytvořit pomocí operátoru qw. Literál qw provede to, že ze svého argumenty odstraní bílé znaky a vrátí seznam z takto složených částí, které jsou chápány jako v apostrofech.


@pole = qw (aa bb cc dd ee);

//je to samé jako

@pole = ('aa' , 'bb' , 'cc' , 'dd');



A to by bylo pro dnešek všechno. V dalším díle se podíváme na další možnosti práce s seznamy a polemi . 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 osm a deset