Lua - Operatori

Un operatore è un simbolo che dice all'interprete di eseguire specifiche manipolazioni matematiche o logiche. Il linguaggio Lua è ricco di operatori integrati e fornisce i seguenti tipi di operatori:

  • Operatori aritmetici
  • Operatori relazionali
  • Operatori logici
  • Operatori vari

Questo tutorial spiegherà uno per uno gli operatori aritmetici, relazionali, logici e altri vari.

Operatori aritmetici

La tabella seguente mostra tutti gli operatori aritmetici supportati dal linguaggio Lua. Assumi variabileA detiene 10 e variabile B tiene 20 quindi -

Mostra esempi

Operatore Descrizione Esempio
+ Aggiunge due operandi A + B darà 30
- Sottrae il secondo operando dal primo A - B darà -10
* Moltiplica entrambi gli operandi A * B darà 200
/ Dividi il numeratore per il de-numeratore B / A darà 2
% Operatore modulo e resto di dopo una divisione intera B% A darà 0
^ L'operatore esponente prende gli esponenti Un ^ 2 darà 100
- Unario - l'operatore funge da negazione -A darà -10

Operatori relazionali

La tabella seguente mostra tutti gli operatori relazionali supportati dal linguaggio Lua. Assumi variabileA detiene 10 e variabile B tiene 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.

Operatori logici

La tabella seguente mostra tutti gli operatori logici supportati dal linguaggio Lua. Assumi variabileA è vero e variabile B è falso allora -

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.
non Chiamato operatore NOT logico. Utilizzare per invertire lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. ! (A e B) è vero.

Operatori vari

Gli operatori vari supportati da Lua Language includono concatenation e length.

Mostra esempi

Operatore Descrizione Esempio
.. Concatena due stringhe. a..b dove a è "Hello" eb è "World", restituirà "Hello World".
# Un operatore unario che restituisce la lunghezza di una stringa o di una tabella. # "Hello" restituirà 5

Precedenza degli operatori in Lua

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 a x viene assegnato 13, non 20 perché l'operatore * ha una precedenza maggiore di +, quindi viene prima moltiplicato per 3 * 2 e quindi somma in 7.

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

Mostra esempi

Categoria Operatore Associatività
Unario non # - Da destra a sinistra
Concatenazione .. Da destra a sinistra
Moltiplicativo * /% Da sinistra a destra
Additivo + - 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