Operadores

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Un operador operador es un símbolo para realizar una operación o una evaluación condicional.

Lógico

Los operadores lógicos devuelven valores dependiendo de los valores de los argumentos proporcionados. Si un argumento no es false o nil , entonces el operador lo evaluará como true . A diferencia de muchos otros idiomas, Luau considera tanto el valor nulo como la cadena vacía como 1> true1> . La siguiente tabla resume cómo

OperadorDescripciones
ySe evaluará como cierto sólo si ambas condiciones son ciertas
o:Evalúa como cierto si ambas condiciones son ciertas
noEvalúa como el opuesto de la condición

y

El operador binario and 返回一个 de los dos argumentos. Si el primer argumento se evaluó para true , entonces regresa el segundo argumento. De lo contrario, regresa el primer argumento.


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

Puede usar and para probar múltiples condiciones en estructuras de control como if declaraciones y 3> 4> while4> ciclos. Por ejemplo, la siguiente 7> if7> — 0> entonces 0> declaración prueba que dos condiciones son ambas


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

o

El operador binario or 返回 2 argumentotrue,那么返回 1 。否则,它将返回 2 。


local y = x or 1
print(y) -- 1 porque x no existe y por lo tanto es nulo
local d = false
local e = d or 1
print(e) -- 1 porque d es falso
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- cierto
print(false or false) -- falso
print(true or false) -- cierto
print(true or true) -- true

Puedes usar or para realizar pruebas lógicas complejas en estructuras de control . Por ejemplo, la siguiente if — 1> then1> declaración de prueba prueba si dos condiciones son ciertas 4>o4> una tercera condición es cierta:


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

no

El operador unario not 返回 argument 的反向Boolean值。 Si el argumento es false o nil , entonces 返回 1> true1> . De lo contrario, 返回 4> false4> .


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

Puedes usar el operador not para activar un operador condicional o bucle si una variable es false o nil .


local nilVariable -- Variable está declarado pero no tiene valor, así que es nulo
local falseVariable = false -- Variable se declara con un valor de falso
if not nilVariable then
print(nilVariable) -- Outputs "nil" porque nil no es cierto
end
if not falseVariable then
print(falseVariable) -- Outputs "false" porque false no es cierto
end

También puede usar el operador not para probar el opuesto de una declaración multicondicional completa. En el siguiente ejemplo de código, las pruebas condicionales ifthen que no son ciertas que tres son mayores que cuatro o no son ciertas que cinco son mayores que cuatro.


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.

Relacional

Los operadores relacionales comparan dos parámetros y devuelven un button : true o false .

OperadorDescripciónEjemploMétodo asociado
==)Equivalente a3 == 5falso__eq
:No es igual a3 5 → verificado
>Mayor que3 > 5falso
<Menos de3 < 5verdadero__lt
>=)Mayor que o igual a3 >= 5falso
Menos que o igual que3 <= 5verdadero__le

Aritmética

Lua soporta los operadores binarios habituales junto con la expresión, la modulación y la negación unaria.

OperadorDescripciónEjemploMétodo asociado
+Añadir1 + 1 = 2__add
-Sustracción1 - 1 = 0__sub
*Multiplicación5 * 5 = 25__mul
/:División10 / 5 = 2__div
//)División de Piso10 // 4 = 2-10 // 4 = -3__idiv
^)Expresión2 ^ 4 = 16__pow
%Módulo13 % 7 = 6__mod
-Negación unaria-2 = 0 - 2__unm

Asignación de compuestos

Puede usar operadores de asignación de compuestos para establecer una variable igual a el resultado de una operación donde el primer parámetro es el valor actual de la variable.

La operación en una asignación de compuesto ocurre una vez. Por ejemplo, si una expresión genera un índice aleatorio en una tabla, Luau usa el mismo índice para ambas la operación y la asignación.

En los siguientes ejemplos, suponer local x = 3 .

OperadorOperaciónEjemploNuevo Valor de x
(+)Añadirx += 25
Sustracciónx -= 21
*)Multiplicaciónx*26
/=Divisiónx /= 21.5
//=División de Pisox //= 21
%=)Módulox%=21
^=Expresiónx ^= 29
..=Concatenaciónx ..= "Mundo!""3 Mundo!"

Misceláneo

Los operadores misceláneos incluyen conectividad y longitud.

OperadorDescripciónEjemploMétodo asociado
..Concata dos cadenasimprimir ("Hello " .. "World!").__concat:
#Longitud de la tablaSi tableVar = 1, 2, 3 , entonces #tableVar == 3 .__len