Operadores

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Um operador é um símbolo para executar uma operação ou avaliação condicional.

Lógico

Os operadores lógicos retornam valores dependendo dos valores deBooleano dos argumentos fornecidos. Se um argumento não for false ou nil, então o operador o avalia como true . Diferente de muitas outras linguagens, o Luau considera tanto o zero quanto a string vazia como 2> true2>. A tabela a segu

OperadorDescrições
eAvalia como verdadeiro apenas se ambas as condições estiverem verdadeiras
ouAvalia como verdadeiro se uma das condições for verdadeira
nãoAvalia como o oposto da condição

e

O operador binário and retorna um dos dois argumentos. Se o primeiro argumento avalia para true, então retorna o segundo argumento. Caso contrário, retorna o primeiro argumento.


print(4 and 5) -- 5
print(nil and 12) -- nada
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

Você pode usar and para testar várias condições em estruturas de controle tais como if declarações e 3> 4> while4> loops3>. Por exemplo, a seguinte 7> if7> — 0> então0> declaração testa que du


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

ou

O operador binário or retorna um dos dois argumentos. Se o primeiro argumento avalia para true, então retorna o primeiro argumento. Caso contrário, retorna o segundo argumento.


local y = x or 1
print(y) -- 1 porque x não existe e, portanto, é zero
local d = false
local e = d or 1
print(e) -- 1 porque d é falso
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- verdade
print(false or false) -- falso
print(true or false) -- verdade
print(true or true) -- true

Você pode usar or para executar testes lógicos complexos em estruturas de controle. Por exemplo, a seguinte declaração if — 1> then1> testa se duas condições são verdadeiras ou não 4>ou4> uma terceira condição é verdadeira:


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

não

O operador unário not retorna o valor deBooleano oposto do argumento. Se o argumento for false ou nil, então ele retorna 1> true1> . Caso contrário, ele retorna 4> false4> .


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

Você pode usar o operador not para acionar uma condição ou loop se uma variável for false ou nil.


local nilVariable -- Variável é declarado, mas não tem valor, então é nil
local falseVariable = false -- Variável é declarado com valor de falso
if not nilVariable then
print(nilVariable) -- Produz "nil" porque nil não é verdadeiro
end
if not falseVariable then
print(falseVariable) -- Produz "false" porque falso não é verdadeiro
end

Você também pode usar o operador not para testar para o oposto de uma declaração de condição múltipla inteira. No exemplo de código a seguir, os testes condicionais ifthen que não é verdade que três é maior que quatro ou é verdade que cinco é maior que quatro.


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.

Relacionais

Operadores relacionais comparam dois parâmetros e retornam um button : true ou false .

OperadorDescriçãoExemploMétodo metamétrico associado
==Igual a3 == 5falso__eq
!\Não igual a3 5 →
>Maior que3 > 5
<Menos que3 verdadeiro__lt
>=Maior que ou igual a3 >= 5falso
Menos que ou igual a3 <= 5verdadeiro__le

Arítmica

Lua suporta os operadores binários padrão, juntamente com a expansão, modulo e negativa unária.

OperadorDescriçãoExemploMétodo metamétrico associado
+Adição1 + 1 = 2__adicionar
-Subtraição1 - 1 = 0__sub
*Multiplicação5 * 5 = 25__mul
/Divisão10 / 5 = 2__div
//Divisão do Chão10 // 4 = 2-10 // 4 = -3__idiv
^Exponencial2 ^ 4 = 16__pow
%Módulo13 % 7 = 6__mod
-Negação unária-2 = 0 - 2__unm

Análise de Compostos

Você pode usar operadores de atribuição de compostos para definir uma variável igual ao resultado de uma operação onde o primeiro parâmetro é o valor atual da variável.

A operação em uma atribuição de complexo ocorre uma vez. Por exemplo, se uma expressão gera um índice aleatório em uma tabela, o Luau usa o mesmo índice para ambas a operação e a atribuição.

Nos seguintes exemplos, suponha local x = 3 .

OperadorOperaçãoExemploNovo Valor de x
incluiAdiçãox += 25 ]
=-)Subtraiçãox=- 21
*>Multiplicaçãox*26
/=Divisãox /= 21.5
//=Divisão do Chãox //= 21
%=Módulox %= 21
^=Exponencialx^ = 29 ]
..=Concatenaçãox..= "Mundo!""3 Mundo!"

Diversos

Os operadores miscelâneos incluem conjunção e comprimento.

OperadorDescriçãoExemploMétodo metamétrico associado
..Concata duas stringimprimir("Olá " .. "Mundo!"__concat
#Comprimento da mesaSe tableVar = 1, 2, 3 , então #tableVar == 3 .__len