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

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

Vazebné operátory

Operace porovnání podle vzoru, nahrazení nebo překlady implicitně pracují s pro¬měnnou $_. Operátor = ~ umožňuje, aby se tyto operace prováděly s jinými operandy. Na levé straně je hodnota, ve které se provádí vyhledávání, nahrazení nebo překlad, napravo je vzor, operátor porovnání podle vzoru, nahrazení nebo překladu. V následujícím příkladu jsou v proměnné obsahující pouze číslice nahrazeny počáteční nuly mezerami.



If ($x =~ /^\d+$/){

$x =~ s/^0+/' 'x length $&/e;

}




Operátor =~ vrací pravdivou hodnotu v případě úspěšného nalezení, nahrazení či překladu, v opačném případě vrací hodnotu nepravdivou. Konkrétní forma pravdivé nebo nepravdivé hodnoty závisí na výsledku operátoru na pravě straně. Operátor !~ provádí to samé jako operátor =~ ale návratová hodnota je logickou negací návratové hodnoty operátoru = ~.

Mulitiplikativní operátory

Operátor * provádí násobení dvou operandů, operátor / provádí dělení. Tato operace probíhá v pohyblivé řádové čárce, pokud nepoužijeme "use integer".



Print 10/3;

// Vytiskne 3.33333333333333

Use integer;

Print 10/3;

// Vytiskne 3




Operátor % převede operandy na celá čísla a vrátí zbytek po jejich celočíselném dělení. Je-li druhý operand kladný, je zbytkem po dělení číslo, které je rozdílem hodnoty prvního operandu a čísla, které je násobkem druhého operandu a je také menší nebo rovno prvnímu operandu. Je-li druhý operand záporný, je výsledkem rozdíl prvního operandu a nejbližšího násobku druhého operandu, který je větší nebo roven hodnotě prvního operandu, nabývá hodnot nula až hodnota o jedna menší než hodnota druhého operandu.



10 % 3;

// Zbytek 1, tedy 10-(3*3)

10 % -5;

// Zbytek je -4, tedy 11-(-5*-3)

-9 % 4;

// Zbytek je 3

-9 % -4;

// Zbytek je -1




Operátor x je operátorem opakování. Ve skalárním kontextu vrátí řetězec, který obsahuje hodnotu levého operandu tolikrát, kolik je hodnota výrazu na pravě straně operandu. V seznamovém kontextu vrací seznam o počtu prvku, jenž je uveden na pravé straně.



$x = '5' x 5;

// Proměnná $x obsahuje '5 5 5 5 5'

@pole = (3) x 5;

// Proměnná @pole obsahuje (3, 3, 3, 3, 3)

@pole2 = (1, 2) x 5;

// Proměnná @pole2 obsahuje (1, 2, 1, 2, 1, 2, 1, 2, 1, 2)




A to by bylo pro dnešek všechno. V dalším díle se podíváme na aditivní operátory, operátor posuvu, relační operátor a operátor rovnosti. 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 jedna