Operatori

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Un operatore **** è un simbolo per eseguire un'operazione o una valutazione condizionale.

Logico

Gli operatori logici restituiscono valori a seconda dei valori booleani dei parametri dati.Se un argomento non è false o nil, l'operatore lo valuta come true.A differenza di molte altre lingue, Luau considera sia lo zero che la stringa vuota come true .La seguente tabella riassume il modo in cui gli operatori logici si comportano nelle condizioni condizionali.

OperatoreDescrizioni
andSi valuta come true solo se entrambe le condizioni sono vere
orSi valuta come true se una delle condizioni è vera
notValuta come l'opposto della condizione

e

L'operatore binario and restituisce uno dei due argomenti.Se il primo argomento si valuta a true , poi restituisce il secondo argomento.Altrimenti, restituisce il primo argomento.


print(4 and 5) -- 5
print(nil and 12) -- nulla
print(false and 12) -- fallito
print(false and true) -- fallito
print(false and false) -- fallito
print(true and false) -- fallito
print(true and true) -- true

Puoi usare and per testare più condizioni in strutture di controllo come if dichiarazioni e while loop .Ad esempio, la seguente dichiarazione if - then testifica che due condizioni sono entrambe vere:


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("We have spaghetti dinner")
else
print("Something is missing...")
end
-- Output: We have spaghetti dinner

or

L'operatore binario or restituisce uno dei due argomenti.Se il primo argomento si valuta a true , restituisce il primo argomento.Altrimenti, restituisce il secondo argomento.


local y = x or 1
print(y) -- 1 perché x non esiste e quindi è nullo
local d = false
local e = d or 1
print(e) -- 1 perché d è falso
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- vero
print(false or false) -- fallito
print(true or false) -- vero
print(true or true) -- true

Puoi usare or per eseguire test logici complessi in strutture di controllo.Ad esempio, la seguente dichiarazione if - then testa se due condizioni sono vere o una terza condizione è vera:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("We have either spaghetti dinner OR garlic bread")
else
print("Something is missing...")
end
-- Output: We have either spaghetti dinner OR garlic bread

non

L'operatore unario not restituisce il valore booleano opposto dell'argomento.Se l'argomento è false o nil , restituisce true .Altrimenti, restituisce false .


print(not true) -- fallito
print(not false) -- vero
print(not nil) -- vero
print(not "text") -- fallito
print(not 0) -- false

Puoi usare l'operatore not per attivare un condizionale o un ciclo se una variabile è false o nil.


local nilVariable -- La variabile è dichiarata ma non ha valore, quindi è nulla
local falseVariable = false -- La variabile è dichiarata con il valore falso
if not nilVariable then
print(nilVariable) -- Produce "null" perché nil non è vero
end
if not falseVariable then
print(falseVariable) -- Produce "false" perché falso non è vero
end

Puoi anche usare l'operatore not per testare l'opposto di un'intera dichiarazione multi-condizione.Nell'esempio di codice seguente, i test condizionali ‑ non è vero che tre è maggiore di quattro né è vero che cinque è maggiore di quattro.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Three is less than 4 and five is greater than 4.")
end
-- Output: Three is less than 4 and five is greater than 4.

Relazionale

Gli operatori relazionali confrontano due parametri e restituiscono un ): o .

OperatoreDescrizioneEsempioMetodo metametodo associato
==Uguale a3 == 5false__eq
~=Non uguale a3 ~= 5true
>Maggiore di3 > 5false
<Meno di3 < 5true__lt
>=Maggiore o uguale a3 >= 5false
<=Meno di o uguale a3 <= 5true__le

Aritmetica

Luau supporta gli operatori binari usuali insieme all'esponenziazione, al modulo e alla negazione unaria.

OperatoreDescrizioneEsempioMetodo metametodo associato
+Aggiunta1 + 1 = 2__add
-Sottrazione1 - 1 = 0__sub
*Moltiplicazione5 * 5 = 25__mul
/Divisione10 / 5 = 2__div
//Divisione di pavimento

10 // 4 = 2``-10 // 4 = -3

__idiv
^Espansione2 ^ 4 = 16__pow
%Modalità13 % 7 = 6__mod
-Negazione unaria-2 = 0 - 2__unm

Assegnazione composta

Puoi usare gli operatori di assegnazione composti per impostare una variabile uguale al risultato di un'operazione in cui il primo parametro è il valore corrente della variabile.

L'operazione in un'assegnazione composta avviene una volta.Ad esempio, se un'espressione genera un indice casuale in una tabella, Luau utilizza lo stesso indice sia per l'operazione che per l'assegnazione.

Nei seguenti esempi, supponiamo local x = 3 .

OperatoreOperazioneEsempioNuovo valore di x
+=Aggiuntax += 25
-=Sottrazionex -= 21
*=Moltiplicazionex *= 26
/=Divisionex /= 21.5
//=Divisione di pavimentox //= 21
%=Modalitàx %= 21
^=Espansionex ^= 29
..=Concatenazionex ..= " World!" "3 World!"

Varie

Gli operatori vari includono concatenazione e lunghezza .

OperatoreDescrizioneEsempioMetodo metametodo associato
..Concatena due stringheprint("Hello " .. "World!")__concat
#Lunghezza della tabellaSe tableVar = {1, 2, 3} , allora #tableVar == 3 .__len