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 -
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 -
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 -
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.
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.
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 |