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 degli argomenti forniti. Se un argomento non è false o nil, allora l'operatore lo valuta come true. A differenza di molti altri linguaggi, Luau considera sia lo zero che la stringa vuota come true. La seguente tabella riassume il comportamento degli operatori logici nelle valutazioni condizionali.

OperatoreDescrizioni
andValuta come true solo se entrambe le condizioni sono vere
orValuta come true se almeno una condizione è vera
notValuta come l'opposto della condizione

and

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


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

Puoi usare and per testare più condizioni nelle strutture di controllo come le if statements e i while loops. Ad esempio, la seguente dichiarazione ifthen verifica che due condizioni siano entrambe vere:


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("Abbiamo la cena di spaghetti")
else
print("Qualcosa manca...")
end
-- Output: Abbiamo la cena di spaghetti

or

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


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

Puoi usare or per eseguire test logici complessi nelle strutture di controllo. Ad esempio, la seguente dichiarazione ifthen verifica se due condizioni sono vere o se una terza condizione è vera:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("Abbiamo o la cena di spaghetti O il pane all'aglio")
else
print("Qualcosa manca...")
end
-- Output: Abbiamo o la cena di spaghetti O il pane all'aglio

not

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


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

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


local nilVariable -- La variabile è dichiarata ma non ha valore, quindi è nil
local falseVariable = false -- La variabile è dichiarata con valore di false
if not nilVariable then
print(nilVariable) -- Mostra "nil" perché nil non è true
end
if not falseVariable then
print(falseVariable) -- Mostra "false" perché false non è true
end

Puoi anche usare l'operatore not per testare l'opposto di un'intera dichiarazione con più condizioni. Nel seguente esempio di codice, la condizione ifthen verifica che non sia vero che tre è maggiore di quattro né che cinque è maggiore di quattro.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Tre è minore di 4 e cinque è maggiore di 4.")
end
-- Output: Tre è minore di 4 e cinque è maggiore di 4.

Relazionale

Gli operatori relazionali confrontano due parametri e restituiscono un boolean: true o false.

OperatoreDescrizioneEsempioMetamethod associato
==Uguale a3 == 5false__eq
~=Non uguale a3 ~= 5true
>Maggiore di3 > 5false
<Minore di3 < 5true__lt
>=Maggiore o uguale a3 >= 5false
<=Minore o uguale a3 <= 5true__le

Aritmetico

Luau supporta i normali operatori binari insieme a potenza, modulus e negazione unaria.

OperatoreDescrizioneEsempioMetamethod associato
+Somma1 + 1 = 2__add
-Sottrazione1 - 1 = 0__sub
*Moltiplicazione5 * 5 = 25__mul
/Divisione10 / 5 = 2__div
//Divisione intera

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

__idiv
^Potenziamento2 ^ 4 = 16__pow
%Modulo13 % 7 = 6__mod
-Negazione unaria-2 = 0 - 2__unm

Assegnazione composta

Puoi usare operatori di assegnazione composta 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 sola 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.

Negli esempi seguenti, supponiamo che local x = 3.

OperatoreOperazioneEsempioNuovo valore di x
+=Sommax += 25
-=Sottrazionex -= 21
*=Moltiplicazionex *= 26
/=Divisionex /= 21.5
//=Divisione interax //= 21
%=Modulox %= 21
^=Potenziamentox ^= 29
..=Concatenazionex ..= " Mondo!" "3 Mondo!"

Varie

Gli operatori vari includono concatenazione e lunghezza.

OperatoreDescrizioneEsempioMetamethod associato
..Concatena due stringheprint("Ciao " .. "Mondo!")__concat
#Lunghezza della tabellaSe tableVar = {1, 2, 3}, allora #tableVar == 3.__len
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.