Internetowe Bazy Danych - wykład 12 Jest możliwe również aby przypisanie odnosiło się do tej samej zmiennej dwa razy - pierwszy raz w celu obliczenia jej wartości a drugi by dokonać przypisania:
$a = $a * 5;
Stosowane jest to na tyle często, że "dorobiło" się skrótu (zapożyczonego zresztą z języka C). Poprzednią deklarację można więc zapisać w następujący sposób korzystając ze skrótu:
$a *= 5;
$a = 2;
$b = 3;
$a += $b; #dodanie Sb do Sa - wynik: $a = 5 $a -= $b; #odjęcie Sb od Sa - wynik: Sa = -1 $a . = $b; #dopisanie Sb do Sa - wynik: Sa = 23
Jedną z funkcji operatorów przypisania jest również taka bardzo przydatna operacja:
$zm | | = "555"; #powoduje przypisanie zmiennej #zm wartości 555 o ile zmienna ta nie ma nic przypisanego wcześniej
Operatory autoinkrementacji i autodekrementacji.
Operatory te dodają lub odejmują jeden do/od wartości zmiennej. Można je umieścić zarówno z lewej jak i z prawej strony. Uzależnione to jest od tego kiedy ma być obliczona wartość zmiennej.
Przykładowy zapis Nazwa operatora |
Działanie |
+ + $a lub $a++ |autoinkrementacja |
dodanie 1 do zmiennej $a |
|—$a lub $a— |autodekrementacja |
odjęcie 1 od zmiennej $a |
Umieszczenie jednego z tych operatorów przed zmienną nazywane jest preinkrementacją (++Sa) lub predekrementacją (—Sa) a po zmiennej postinkrementacją (Sa++) lub postdekrementacją (Sa—). W pierwszym przypadku wartość zmiennej ulegnie zmianie przed odwołaniem się do niej a w drugim dopiero po jej użyciu np.:
$a = 10;
$b = ++$a; #zmienna Sb nabywa wartość zmiennej Sa+1 czyli 11
$c = $a—; #zmienna Sc nabywa wartość 11 a zmienna Sa zostaje zmniejszona o 1
Operatory logiczne
Operatory te zwane są "skrótowymi" ponieważ umożliwiają programowi podjęcie decyzji opartej na wielu kryteriach. Aby to osiągnąć nie trzeba używać skomplikowanych instrukcji warunkowych. Zwane są również wyrażeniami testującymi ponieważ porównują ze sobą zmienne lub wartości i mogą zwracać prawdę (true) lub fałsz (false). Nazwa "skrótowe" bierze się stąd, że operatory te nie przetwarzają w ogóle prawego argumentu gdy do obliczenia wartości wyrażenia wystarczy sam argument lewy. W Perlu istnieją dwa zbiory operatorów: stary (przejęty z języka C) i zupełnie nowy. W Perlu zasadniczo każda liczba różna od zera i każdy łańcuch, który nie jest pusty jest uznawany za prawdę, a liczba 0 lub pusty łańcuch za fałsz.