Euforia - operatorzy
Euphoria zapewnia bogaty zestaw operatorów do manipulowania zmiennymi. Możemy podzielić wszystkie operatory Euphoria na następujące grupy -
- Operatory arytmetyczne
- Operatorzy relacyjni
- Operatory logiczne
- Operatory przypisania
- Różne operatory
Operatory arytmetyczne
Operatory arytmetyczne są używane w wyrażeniach matematycznych w taki sam sposób, jak w algebrze. W poniższej tabeli wymieniono operatory arytmetyczne. Załóżmy, że zmienna całkowita A ma 10, a zmienna B zawiera 20, a następnie -
Pokaż przykłady
Operator | Opis | Przykład |
---|---|---|
+ | Dodawanie - dodaje wartości po obu stronach operatora | A + B da 30 |
- | Odejmowanie - odejmuje operand prawej ręki od operandu lewej ręki | A - B da -10 |
* | Mnożenie - mnoży wartości po obu stronach operatora | A * B da 200 |
/ | Dzielenie - dzieli operand lewej ręki przez operand prawej ręki | B / A da 2 |
+ | Jednoargumentowy plus - nie ma to wpływu na wartość zmiennej. | + B daje 20 |
- | Jednoargumentowy minus - tworzy ujemną wartość danej zmiennej. | -B daje -20 |
Operatory relacyjne
Istnieją następujące operatory relacyjne obsługiwane przez język Euphoria. Załóżmy, że zmienna A zawiera 10, a zmienna B 20, a następnie -
Pokaż przykłady
Operator | Opis | Przykład |
---|---|---|
= | Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli tak, warunek staje się prawdziwy. | (A = B) nie jest prawdą. |
! = | 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. | (A! = B) jest prawdą. |
> | Sprawdza, czy wartość lewego operandu jest większa niż wartość prawego operandu, jeśli tak, warunek staje się prawdziwy. | (A> B) nie jest prawdą. |
< | Sprawdza, czy wartość lewego operandu jest mniejsza niż wartość prawego operandu. Jeśli tak, warunek staje się prawdziwy. | (A <B) jest prawdą. |
> = | Sprawdza, czy wartość lewego operandu jest większa lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. | (A> = B) nie jest prawdą. |
<= | Sprawdza, czy wartość lewego operandu jest mniejsza lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. | (A <= B) jest prawdą. |
Operatory logiczne
W poniższej tabeli wymieniono operatory logiczne. Załóżmy, że zmienne boolowskie A zawiera 1, a zmienna B zawiera 0, a następnie -
Pokaż przykłady
Operator | Opis | Przykład |
---|---|---|
i | Nazywany operatorem logicznym AND. Jeśli oba operandy są niezerowe, warunek staje się prawdziwy. | (A i B) jest fałszem. |
lub | Nazywany operatorem logicznym OR. Jeśli którykolwiek z dwóch operandów jest niezerowy, wtedy warunek staje się prawdziwy. | (A lub B) jest prawdą. |
xor | Nazywany logicznym operatorem XOR. Warunek jest prawdziwy, jeśli jeden z nich jest prawdziwy, jeśli oba operandy są prawdziwe lub fałszywe, warunek staje się fałszywy. | (A xor B) jest prawdą. |
nie | Wywoływany operator logiczny NOT, który neguje wynik. Używając tego operatora, prawda staje się fałszem, a fałsz staje się prawdą | nie (B) jest prawdą. |
Możesz również zastosować te operatory do liczb innych niż 1 lub 0. Konwencja jest taka: zero oznacza fałsz, a niezerowe oznacza prawdę .
Operatory przypisania
Istnieją następujące operatory przypisania obsługiwane przez język Euphoria -
Pokaż przykłady
Operator | Opis | Przykład |
---|---|---|
= | Prosty operator przypisania, przypisuje wartości z operandów po prawej stronie do operandów po lewej stronie | C = A + B przypisze wartość A + B do C. |
+ = | Dodaj operator przypisania AND, dodaje prawy operand do lewego operandu i przypisuje wynik do lewego operandu | C + = A jest równoważne C = C + A |
- = | Operator odejmowania AND przypisania, Odejmuje prawy operand od lewego operandu i przypisuje wynik do lewego operandu | C - = A jest równoważne C = C - A |
* = | Operator mnożenia AND przypisania, Mnoży prawy operand przez lewy operand i przypisuje wynik do lewego operandu | C * = A jest równoważne C = C * A |
/ = | Operator podziału AND przypisania, dzieli lewy operand z prawym operandem i przypisuje wynik do lewego operandu | C / = A jest równoważne C = C / A |
& = | Operator łączenia | C & = {2} to to samo co C = {C} & {2} |
Note - Symbol równości „=” użyty w instrukcji przypisania nie jest operatorem, jest tylko częścią składni.
Różni operatorzy
Istnieje kilku innych operatorów obsługiwanych przez język Euphoria.
Operator „&”
Dowolne dwa obiekty można łączyć za pomocą operatora „&”. Wynikiem jest ciąg o długości równej sumie długości połączonych obiektów.
Na przykład -
#!/home/euphoria-4.0b2/bin/eui
sequence a, b, c
a = {1, 2, 3}
b = {4}
c = {1, 2, 3} & {4}
printf(1, "Value of c[1] %d\n", c[1] )
printf(1, "Value of c[2] %d\n", c[2] )
printf(1, "Value of c[3] %d\n", c[3] )
printf(1, "Value of c[4] %d\n", c[4] )
Daje to następujący wynik -
Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4
Pierwszeństwo operatorów euforii
Pierwszeństwo operatorów określa grupowanie terminów w wyrażeniu. Ma to wpływ na sposób oceny wyrażenia. Niektórzy operatorzy mają wyższy priorytet niż inni; na przykład operator mnożenia ma wyższy priorytet niż operator dodawania.
Na przykład x = 7 + 3 * 2
Tutaj x ma przypisane 13, a nie 20, ponieważ operator * ma wyższy priorytet niż +.
Dlatego najpierw zaczyna się od 3 * 2, a następnie dodaje do 7.
Tutaj operatory o najwyższym priorytecie pojawiają się na górze tabeli, a te z najniższym - na dole. W wyrażeniu najpierw są oceniane operatory o wyższym priorytecie.
Kategoria | Operator | Łączność |
---|---|---|
Przyrostek | wywołania funkcji / typów | |
Jednoargumentowe | + -! nie | Od prawej do lewej |
Mnożny | * / | Z lewej na prawą |
Przyłączeniowy | + - | Z lewej na prawą |
Powiązanie | & | Z lewej na prawą |
Relacyjny | >> = <<= | Z lewej na prawą |
Równość | =! = | Z lewej na prawą |
Logiczne AND | i | Z lewej na prawą |
Logiczne LUB | lub | Z lewej na prawą |
Logiczne XOR | xor | Z lewej na prawą |
Przecinek | , | Z lewej na prawą |