Perl - operatory
Co to jest operator?
Prostej odpowiedzi można udzielić za pomocą wyrażenia 4 + 5 równa się 9 . Tutaj 4 i 5 nazywamy operandami, a + nazywamy operatorem. Język Perl obsługuje wiele typów operatorów, ale poniżej znajduje się lista ważnych i najczęściej używanych operatorów -
- Operatory arytmetyczne
- Operatory równości
- Operatory logiczne
- Operatory przypisania
- Operatory bitowe
- Operatory logiczne
- Operatory podobne do kwotowań
- Różni operatorzy
Przyjrzyjmy się kolejno wszystkim operatorom.
Operatory arytmetyczne Perla
Przyjmij zmienną $a holds 10 and variable $b zawiera 20, a następnie znajdują się operatory arytmatyczne Perla -
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | + ( Addition ) Dodaje wartości po obu stronach operatora Example - $a + $b da 30 |
2 | - (Subtraction) Odejmuje operand prawej ręki od operandu lewej ręki Example - $a - $b da -10 |
3 | * (Multiplication) Mnoży wartości po obu stronach operatora Example - $a * $b da 200 |
4 | / (Division) Dzieli operand lewej ręki przez operand prawej ręki Example - $b / $a da 2 |
5 | % (Modulus) Dzieli operand po lewej stronie przez operand po prawej stronie i zwraca resztę Example - $b % $a da 0 |
6 | ** (Exponent) Wykonuje obliczenia wykładnicze (potęgowe) na operatorach Example - $a**$b da 10 do potęgi 20 |
Operatory równości Perla
Nazywa się je również operatorami relacyjnymi. Przyjmij zmienną$a holds 10 and variable $b zawiera zatem 20, sprawdźmy następujące numeryczne operatory równości -
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | == (equal to) Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli tak, warunek staje się prawdziwy. Example - ($a == $b) nie jest prawdą. |
2 | != (not equal to) Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli wartości nie są równe, warunek staje się prawdziwy. Example - ($a != $b) jest prawdą. |
3 | <=> Sprawdza, czy wartości dwóch operandów są równe, czy nie, i zwraca wartość -1, 0 lub 1 w zależności od tego, czy lewy argument jest liczbowo mniejszy, równy lub większy niż prawy argument. Example - ($a <=> $b) zwraca -1. |
4 | > (greater than) Sprawdza, czy wartość lewego operandu jest większa niż wartość prawego operandu. Jeśli tak, warunek staje się prawdziwy. Example - ($a > $b) nie jest prawdą. |
5 | < (less than) Sprawdza, czy wartość lewego operandu jest mniejsza niż wartość prawego operandu, jeśli tak, warunek staje się prawdziwy. Example - ($a < $b) jest prawdą. |
6 | >= (greater than or equal to) Sprawdza, czy wartość lewego operandu jest większa lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. Example - ($a >= $b) nie jest prawdą. |
7 | <= (less than or equal to) Sprawdza, czy wartość lewego operandu jest mniejsza lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. Example - ($a <= $b) jest prawdą. |
Poniżej znajduje się lista operatorów akcji. Przyjmij zmienną$a holds "abc" and variable $b przechowuje wtedy "xyz", sprawdźmy następujące operatory równości łańcuchów -
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | lt Zwraca prawdę, jeśli lewy argument jest mniejszy niż prawy argument. Example - ($a lt $b) jest prawdą. |
2 | gt Zwraca prawdę, jeśli lewy argument jest ciągiem większy niż prawy argument. Example - ($a gt $b) jest fałszywa. |
3 | le Zwraca prawdę, jeśli lewy argument jest ciągowo mniejszy lub równy prawemu argumentowi. Example - ($a le $b) jest prawdą. |
4 | ge Zwraca prawdę, jeśli lewy argument jest ciągiem większy lub równy prawemu argumentowi. Example - ($a ge $b) jest fałszywa. |
5 | eq Zwraca prawdę, jeśli lewy argument jest ciągiem równy prawemu argumentowi. Example - ($a eq $b) jest fałszywa. |
6 | ne Zwraca prawdę, jeśli lewy argument nie jest równy prawemu argumentowi. Example - ($a ne $b) jest prawdą. |
7 | cmp Zwraca wartość -1, 0 lub 1 w zależności od tego, czy lewy argument jest ciągiem mniejszy niż, równy lub większy niż prawy argument. Example - ($a cmp $b) wynosi -1. |
Operatory przypisania Perla
Przyjmij zmienną $a holds 10 and variable $b zawiera 20, poniżej znajdują się operatory przypisania dostępne w Perlu i ich użycie -
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | = Prosty operator przypisania, przypisuje wartości z operandów po prawej stronie do argumentów po lewej stronie Example - $c = $a + $b will assigned value of $a + $b into $do |
2 | += Dodaj operator przypisania AND, dodaje prawy operand do lewego operandu i przypisuje wynik do lewego operandu Example - $c += $a jest równoważne $c = $c + $ a |
3 | -= Operator odejmowania AND przypisania, Odejmuje prawy operand od lewego operandu i przypisuje wynik do lewego operandu Example - $ c - = $a is equivalent to $c = $c - $za |
4 | *= Operator przypisania mnożenia AND, mnoży prawy operand przez lewy operand i przypisuje wynik do lewego operandu Example - $c *= $a jest równoważne $c = $c * $ a |
5 | /= Operator dzielenia AND przypisania, Dzieli lewy operand z prawym operandem i przypisuje wynik do lewego operandu Example - $ c / = $a is equivalent to $c = $c / $za |
6 | %= Operator przypisania modułu AND, pobiera moduł przy użyciu dwóch operandów i przypisuje wynik do lewego operandu Example - $c %= $a jest równoważne $c = $c% a |
7 | **= Operator przypisania wykładnika AND, wykonuje obliczenia wykładnicze (potęgowe) na operatorach i przypisuje wartość do lewego operandu Example - $c **= $a jest równoważne $c = $c ** $ a |
Operatory bitowe Perla
Operator bitowy działa na bitach i wykonuje operacje bit po bicie. Załóżmy, że $ a = 60; i $ b = 13; Teraz w formacie binarnym będą one następujące -
$ a = 0011 1100
$ b = 0000 1101
-----------------
$ a & $ b = 0000 1100
$ a | $ b = 0011 1101
$ a ^ $ b = 0011 0001
~ $ a = 1100 0011
Istnieją następujące operatory bitowe obsługiwane przez język Perl, załóżmy, że $a = 60; and $b = 13
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | & Operator binarny AND kopiuje trochę do wyniku, jeśli istnieje w obu operandach. Example - ($a & $b) da 12, czyli 0000 1100 |
2 | | Operator binarny OR kopiuje bit, jeśli istnieje w operandzie. Example - ($a | $b) da 61, czyli 0011 1101 |
3 | ^ Binarny operator XOR kopiuje bit, jeśli jest ustawiony w jednym operandzie, ale nie w obu. Example - ($a ^ $b) da 49, czyli 0011 0001 |
4 | ~ Operator dopełniacza binarnego jest jednoargumentowy i ma efekt „przerzucania” bitów. Example - (~ $ a) da -61, czyli 1100 0011 w postaci uzupełnienia do 2 ze względu na liczbę binarną ze znakiem. |
5 | << Binarny operator przesunięcia w lewo. Wartość lewego operandu jest przesuwana w lewo o liczbę bitów określoną przez prawy operand. Example - $ a << 2 da 240, czyli 1111 0000 |
6 | >> Binarny operator przesunięcia w prawo. Wartość lewego operandu jest przesuwana w prawo o liczbę bitów określoną przez prawy operand. Example - $ a >> 2 daje 15, czyli 0000 1111 |
Operatory logiczne Perla
Istnieją następujące operatory logiczne obsługiwane przez język Perl. Załóżmy, że zmienna $ a zawiera prawdę, a zmienna $ b ma wartość fałsz -
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | and Nazywany operatorem logicznym AND. Jeśli oba operandy są prawdziwe, wtedy warunek staje się prawdziwy. Example - ($ a i $ b) jest fałszem. |
2 | && Operator logiczny AND w stylu C kopiuje bit do wyniku, jeśli istnieje w obu operandach. Example - ($ a && $ b) jest fałszem. |
3 | or Nazywany operatorem logicznym OR. Jeśli którykolwiek z dwóch operandów jest niezerowy, wtedy warunek staje się prawdziwy. Example - ($ a lub $ b) jest prawdziwe. |
4 | || Operator logiczny OR w stylu C kopiuje bit, jeśli istnieje w operandzie. Example - ($ a || $ b) jest prawdą. |
5 | not Nazywany operatorem logicznym NOT. Służy do odwracania stanu logicznego operandu. Jeśli warunek jest spełniony, operator logiczny NOT spowoduje fałsz. Example - not ($ a i $ b) jest prawdą. |
Operatory podobne do kwotowań
Istnieją następujące operatory podobne do cytatów, obsługiwane przez język Perl. W poniższej tabeli {} oznacza dowolną wybraną parę separatorów.
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | q{ } Obejmuje ciąg w apostrofach Example - q {abcd} daje „abcd” |
2 | qq{ } Obejmuje ciąg w podwójnych cudzysłowach Example - qq {abcd} daje „abcd” |
3 | qx{ } Obejmuje ciąg w cudzysłowach odwróconych Example - qx {abcd} daje „abcd” |
Różni operatorzy
Istnieją różne operatory obsługiwane przez język Perl. Załóżmy, że zmienna a zawiera 10, a zmienna b 20, a następnie -
Pokaż przykład
Sr.No. | Operator i opis |
---|---|
1 | . Operator binarny kropka (.) Łączy dwa ciągi. Example - Jeśli $ a = "abc", $b = "def" then $a. $ b da "abcdef" |
2 | x Operator powtórzenia x zwraca ciąg składający się z lewego operandu powtórzonego tyle razy, ile określono przez prawy operand. Example - ('-' x 3) da ---. |
3 | .. Operator zakresu .. zwraca listę wartości zliczanych (w górę o jedności) od lewej wartości do prawej wartości Example - (2..5) da (2, 3, 4, 5) |
4 | ++ Operator Auto Increment zwiększa wartość całkowitą o jeden Example - $ a ++ da 11 |
5 | -- Operator Auto Decrement zmniejsza wartość całkowitą o jeden Example - $ a-- daje 9 |
6 | -> Operator strzałki jest najczęściej używany do wyłuskiwania metody lub zmiennej z obiektu lub nazwy klasy Example - $ obj->$a is an example to access variable $a z obiektu $ obj. |
Pierwszeństwo operatorów Perla
W poniższej tabeli wymieniono wszystkie operatory od najwyższego do najniższego priorytetu.
Pokaż przykład
left terms and list operators (leftward)
left ->
nonassoc ++ --
right **
right ! ~ \ and unary + and -
left =~ !~
left * / % x
left + - .
left << >>
nonassoc named unary operators
nonassoc < > <= >= lt gt le ge
nonassoc == != <=> eq ne cmp ~~
left &
left | ^
left &&
left || //
nonassoc .. ...
right ?:
right = += -= *= etc.
left , =>
nonassoc list operators (rightward)
right not
left and
left or xor