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

I operators logici restituiscono valori a seconda dei valori boolean dei parametri forniti. Se un argument non è false o nil , allora l'operatore lo valuta come true . A differenza di molte altre lingue, Luau considera sia zero che la stringa vuota come 1> true1> . La seguente tabella riassume come gli operators log

OperatoreDescrizioni
eSi valuta come vero solo se entrambe le condizioni sono vere
oValuta come vero se una delle condizioni è vera
nonValuta come il contrario della condizione

e

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


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

Puoi usare and per testare più condizioni in strutture di controllo come if dichiarazioni e 3> 4> while4> . Ad esempio, la seguente 8> 8> if8> — 1> 2> if2> dichiarazione testa che due condizioni sono


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 su 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 non è null
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) -- falso
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 if — 1> then1> dichiarazione di test testa se due condizioni sono vere 4>o4> 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 diBooleano contrario dell'argomento. Se l'argomento è false o nil, restituisce 1> true1> . Altrimenti, restituisce 4> false4> .


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

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


local nilVariable -- Variabile è dichiarato ma non ha valore, quindi è null
local falseVariable = false -- Variabile è dichiarato con valore falso
if not nilVariable then
print(nilVariable) -- Outputs "nil" because nil isn't true
end
if not falseVariable then
print(falseVariable) -- Outputs "false" because false non è vero
end

Puoi anche usare il not operatore per testare per il contrario di una dichiarazione multi-condizione intera. Nel seguente esempio di codice, i ifthen test condizionali che non sono né veri che tre sono più grandi di quattro né veri che cinque sono più grandi 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

I operators relazionali confrontano due parametri e restituiscono un button : boolean o true .

OperatoreDescrizioneEsempioMetodi metametodo associati
==Uguale a3 == 5false__eq
:Non uguale a3 5 → vero
>Superiore a3 > 5false
<Meno di3 < 5vero__lt
>=Superiore a o uguale a3 >= 5false
Inferiore o uguale a3 <= 5vero__le

Aritmetica

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

OperatoreDescrizioneEsempioMetodi metametodo associati
+Aggiungere1 + 1 = 2__add
-Sottrazione1 - 1 = 0__sub
*Moltiplicazione5 * 5 = 25__mul
/Divisione10 / 5 = 2__div
//Divisione del Piano10 // 4 = 2-10 // 4 = -3__idiv
^Esponenzione2 ^ 4 = 16__pow
%Modulo13% 7 = 6__mod
-Negazione unaria-2 = 0 - 2__unm

Assunzione di Compound

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

L'operazione in una assegnazione di composti avviene una volta. Ad esempio, se un'espressione genera un indice casuale in una tabella, Luau utilizza lo stesso indice per entrambi l'operazione e l'assegnazione.

Nell'esempio seguente, supponi local x = 3 .

OperatoreOperazioneEsempioNuovo valore di x
Aggiungerex += 25
=-)Sottrazionex=- 21 ]
*Moltiplicazionex*26
/=Divisionex /= 21.5
//=Divisione del Pianox //= 21 ]
%=)Modulox%=21 ]
^=Esponenzionex ^= 29
..=Concatenazionex ..= " World!""3 World!"

Varie

I operators miscellaneous includono concatenazione e lunghezza .

OperatoreDescrizioneEsempioMetodi metametodo associati
..Concatena due stringhestamp ("Hello".. "World!"__concat:
#Lunghezza della tabellaSe tableVar = 1, 2, 3 , allora #tableVar == 3 .__len