Euforia - Operatori

Euphoria fornisce un ricco set di operatori per manipolare le variabili. Possiamo dividere tutti gli operatori di Euphoria nei seguenti gruppi:

  • Operatori aritmetici
  • Operatori relazionali
  • Operatori logici
  • Operatori di assegnazione
  • Operatori vari

Gli operatori aritmetici

Gli operatori aritmetici vengono utilizzati nelle espressioni matematiche nello stesso modo in cui vengono utilizzati in algebra. La tabella seguente elenca gli operatori aritmetici. Supponiamo che la variabile intera A contenga 10 e la variabile B contenga 20, quindi -

Mostra esempi

Operatore Descrizione Esempio
+ Addizione: aggiunge valori su entrambi i lati dell'operatore A + B darà 30
- Sottrazione: sottrae l'operando di destra dall'operando di sinistra A - B darà -10
* Moltiplicazione: moltiplica i valori su entrambi i lati dell'operatore A * B darà 200
/ Divisione: divide l'operando di sinistra per l'operando di destra B / A darà 2
+ Più unario: non ha alcun impatto sul valore della variabile. + B dà 20
- Meno unario: crea un valore negativo della variabile data. -B dà -20

Gli operatori relazionali

Sono presenti i seguenti operatori relazionali supportati dal linguaggio Euphoria. Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -

Mostra esempi

Operatore Descrizione Esempio
= Controlla se il valore di due operandi è uguale o meno, in caso affermativo la condizione diventa vera. (A = B) non è vero.
! = Controlla se il valore di due operandi è uguale o meno, se i valori non sono uguali la condizione diventa vera. (A! = B) è vero.
> Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> B) non è vero.
< Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <B) è vero.
> = Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> = B) non è vero.
<= Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <= B) è vero.

Gli operatori logici

La tabella seguente elenca gli operatori logici. Supponiamo che le variabili booleane A contengano 1 e la variabile B contenga 0, quindi -

Mostra esempi

Operatore Descrizione Esempio
e Chiamato operatore AND logico. Se entrambi gli operandi sono diversi da zero, la condizione diventa vera. (A e B) è falso.
o Chiamato Operatore OR logico. Se uno dei due operandi è diverso da zero, la condizione diventa vera. (A o B) è vero.
xor Chiamato operatore XOR logico. La condizione è vera se uno di essi è vero, se entrambi gli operandi sono veri o falsi, la condizione diventa falsa. (A xo B) è vero.
non Chiamato operatore NOT logico che nega il risultato. Usando questo operatore, vero diventa falso e falso diventa vero non (B) è vero.

È inoltre possibile applicare questi operatori a numeri diversi da 1 o 0. La convenzione è: zero significa falso e diverso da zero significa vero .

Gli operatori di assegnazione

Ci sono i seguenti operatori di assegnazione supportati dal linguaggio Euphoria:

Mostra esempi

Operatore Descrizione Esempio
= Operatore di assegnazione semplice, Assegna i valori dagli operandi del lato destro all'operando del lato sinistro C = A + B assegnerà il valore di A + B a C
+ = Aggiungi operatore di assegnazione AND, aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro C + = A è equivalente a C = C + A
- = Sottrai AND operatore di assegnazione, sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro C - = A è equivalente a C = C - A
* = Moltiplica l'operatore di assegnazione AND, moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro C * = A è equivalente a C = C * A
/ = Divide AND operatore di assegnazione, divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro C / = A è equivalente a C = C / A
& = Operatore di concatenazione C & = {2} è uguale a C = {C} & {2}

Note - Il simbolo di uguale "=" utilizzato in un'istruzione di assegnazione non è un operatore, è solo una parte della sintassi.

Operatori vari

Ci sono pochi altri operatori supportati da Euphoria Language.

L'operatore

Qualsiasi due oggetti possono essere concatenati utilizzando l'operatore "&". Il risultato è una sequenza con una lunghezza uguale alla somma delle lunghezze degli oggetti concatenati.

Ad esempio:

#!/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] )

Questo produce il seguente risultato:

Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4

Precedenza degli operatori Euphoria

La precedenza degli operatori determina il raggruppamento dei termini in un'espressione. Ciò influisce sul modo in cui viene valutata un'espressione. Alcuni operatori hanno la precedenza maggiore di altri; ad esempio, l'operatore di moltiplicazione ha una precedenza maggiore dell'operatore di addizione.

Ad esempio, x = 7 + 3 * 2

Qui, x è assegnato 13, non 20 perché l'operatore * ha una precedenza maggiore di +.

Quindi inizia prima con 3 * 2 e poi si aggiunge a 7.

Qui gli operatori con la precedenza più alta vengono visualizzati nella parte superiore della tabella, quelli con la priorità più bassa in basso. All'interno di un'espressione, gli operatori con precedenza più alta vengono valutati per primi.

Categoria Operatore Associatività
Postfix chiamate di funzione / tipo  
Unario + -! non Da destra a sinistra
Moltiplicativo * / Da sinistra a destra
Additivo + - Da sinistra a destra
Concatenazione & Da sinistra a destra
Relazionale >> = <<= Da sinistra a destra
Uguaglianza =! = Da sinistra a destra
AND logico e Da sinistra a destra
OR logico o Da sinistra a destra
XOR logico xor Da sinistra a destra
Virgola , Da sinistra a destra