Perl, Operátory (23.díl)

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

Operátor šipka

Jedno z uplatnění má tento operátor při provádění dereference odkazu. Na pravé straně se nachází výraz v hranatých, složených nebo kulatých závorkách a na levé straně tohoto operátoru musí být výraz, jehož výsledkem je odkaz. Odkaz musí být toho typu, jakého typu provádíme dereferenci. Znamená to, že když provádíme dereferenci prvku pole (na pravé straně je výraz v hranatých závorkách), musí být nalevo odkaz na pole apod.



$odkaz_na_pole->[2];

// Dereference prvku pole

$odkaz_na_hash ->{klic};

// Dereference prvku hashe

$odkaz_na_podprogram->(1,2,3);

// Volání odkazu podprogramu




Další možností využití tohoto operátoru je při volání metod objektů. V tomto případě se nalevo nachází objekt nebo název třídy a napravo jméno metody.



$objekt->metoda(@seznam);

// volání metody objektu

Trida->metoda;

// Volání metody třídy


Operátor autoinkrementu a autodeinkrementu

Je-li tento operátor použit ve výrazu jako prefix, dochází k inkrementaci (dekremen¬taci) hodnoty proměnné ještě před vrácením její hodnoty, je-li uveden jako postfix, dochází k inkrementaci (dekrementaci) hodnoty proměnné po vrácení hodnot pro¬měnné.



$x = 1;

Print ++$x;

// Nejprve zvýší hosnotu $x na 2, vytiskne 2

Print $x--;

// Vytiskne 2, poté sníží hodnotu $x na 1




Použijeme-li jako operand autoinkrementu výraz, který není číslo a obsahuje pouze písmena následovaná žádným nebo několika číslicemi, probíhá zvyšování znaku řetězce v rámci rozsahu jednotlivých typů znaků (tzn. malá písmena v rozsahu ' a ' .. ' z ' , velká písmena v rozsahu ' A' .. ' Z ' a číslice v rozsahu 0 .. 9).



$x = ‘a‘;
For (1..1000){

Print $x++;

}

// Vytiskne ’a, b, c….aa,ab,…aaa, aab, aac,…’

$x = ‘XY‘;
For (1..1000){

Print $x++;

}

// Vytiskne ’XY, XZ, ..ZX, ZY,…AAA, AAB’

$x = ‘K2‘;
For (1..1000){

Print $x++;

}

// Vytiskne ’K2, K3, K4,…L0, L1, L2,…AA0, AA1, …’




A to by bylo pro dnešek všechno. V dalším díle se podíváme na umocňování a na ideografické unární operátory. 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 jedenáct a pět