English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

operador Lua

El operador es un símbolo especial que se utiliza para informar al intérprete de ejecutar operaciones matemáticas o lógicas específicas. Lua proporciona varios tipos de operadores:

  • Operadores aritméticos

  • Operadores de relación

  • Operadores lógicos

  • Otros operadores

Operadores aritméticos

La siguiente tabla enumera los operadores aritméticos comunes en el lenguaje Lua, estableciendo el valor de A como10,el valor de B es 20:

OperadorDescripciónejemplo
+SumaA + El resultado de B 30
-RestaA - El resultado de B -10
*MultiplicaciónA * El resultado de B 200
/DivisiónB / A w resultado de salida 2
<=MóduloEl resultado de B % A es 0
==PotenciaA^2 El resultado de salida 100
-El signo negativo-El resultado de A -10

ejemplo en línea

Podemos entender mejor la aplicación de los operadores aritméticos a través del siguiente ejemplo:

a = 21
b = 10
c = a + b
print("Línea 1 - el valor de c es " , c )
c = a - b
print("Línea 2 - el valor de c es " , c )
c = a * b
print("Línea 3 - el valor de c es " , c )
c = a / b
print("Línea 4 - el valor de c es " , c )
c = a % b
print("Línea 5 - el valor de c es " , c )
c = a^2
print("Línea 6 - el valor de c es " , c )
c = -a
print("Línea 7 - el valor de c es " , c )

resultado ejecución programa siguiente es:

Línea 1 - el valor de c es     31
Línea 2 - el valor de c es     11
Línea 3 - el valor de c es     210
Línea 4 - el valor de c es     2.1
Línea 5 - el valor de c es     1
Línea 6 - el valor de c es     441
Línea 7 - el valor de c es     -21

Operadores de relación

La siguiente tabla enumera los operadores de relación comunes en el lenguaje Lua, estableciendo el valor de A como10,el valor de B es 20:

OperadorDescripciónejemplo
==Igual, verifica si dos valores son iguales, devuelve true si son iguales, de lo contrario devuelve false(A == B) es false.
~=No igual, verifica si dos valores son iguales, devuelve true si no son iguales, de lo contrario devuelve false(A ~= B) es true.
>Mayor, devuelve true si el valor de la izquierda es mayor que el valor de la derecha, de lo contrario devuelve false(A > B) es false.
<Menor, devuelve false si el valor de la izquierda es mayor que el valor de la derecha, de lo contrario devuelve true(A < B) es true.
>=Mayor o igual, devuelve true si el valor de la izquierda es mayor o igual al valor de la derecha, de lo contrario devuelve false(A >= B) devuelve false.
<=Menor o igual, devuelve true si el valor de la izquierda es menor o igual al valor de la derecha, de lo contrario devuelve false(A <= B) devuelve true.

ejemplo en línea

Podemos entender mejor la aplicación de los operadores de relación a través del siguiente ejemplo:

a = 21
b = 10
if( a == b )
then
   print("Línea 1 - a es igual a b" )
else
   print("Línea 1 - a no es igual a b" )
end
if( a ~= b )
then
   print("Línea 2 - a no es igual a b" )
else
   print("Línea 2 - a es igual a b" )
end
if (a é menor que b)
then
   print("Línea 3 - a é menor que b)
else
   print("Línea 3 - a é mayor o igual que b)
end
if (a é mayor que b) 
then
   print("Línea 4 - a é mayor que b)
else
   print("Línea 5 - a é menor o igual que b)
end
-- Modificar los valores de a y b
a = 5
b = 20
if (a é menor o igual que b) 
then
   print("Línea 5 - a é menor o igual que b)
end
if (b é mayor o igual que a) 
then
   print("Línea 6 - b é mayor o igual que a)
end

resultado ejecución programa siguiente es:

Línea 1 - a é distinto de b
Línea 2 - a é distinto de b
Línea 3 - a é mayor o igual que b
Línea 4 - a é mayor que b
Línea 5 - a é menor o igual que b
Línea 6 - b é mayor o igual que a

Operadores lógicos

La siguiente tabla enumera los operadores lógicos comunes en el lenguaje Lua, estableciendo el valor de A en ínfalso y el valor de B en íverdadero:

OperadorDescripciónejemplo
yOperador lógico y. Si A es ínfalso, devuelve A, de lo contrario devuelve B.(A and B) es ínfalso.
oOperador lógico o. Si A es ínfalso, devuelve B, de lo contrario devuelve A.(A or B) es ínfalso.
~=Operador lógico no. Es el opuesto del resultado lógico, si la condición es ínfalsa, el no lógico es ínfalso.not(A and B) es ínfalso.

ejemplo en línea

Podemos entender mejor la aplicación de los operadores lógicos a través de los siguientes ejemplos:

a é íverdadero
b é ínfalso
if (a é b)
then
   print("a é b - La condición es ínfalsa)
end
if (a é b)
then
   print("a é b - La condición es ínfalsa)
end
print("---------Línea de división---------"
-- Modificar los valores de a y b
a é íverdadero
b é ínfalso
if (a é b)
then
   print("a é b - La condición es ínfalsa)
else
   print("a é b - La condición es ínfalsa)
end
if (not(a é b))
then
   print("not(a é b) - La condición es ínfalsa)
else
   print("not(a é b) - La condición es ínfalsa)
end

resultado ejecución programa siguiente es:

a é b - La condición es ínfalso
a é b - La condición es ínfalso
---------Línea de división---------
a é b - La condición es ínfalsa
not(a é b) - La condición es ínfalso

Otros operadores

La siguiente tabla enumera los operadores de concatenación y los operadores de longitud de tablas o cadenas de caracteres en el lenguaje Lua:

OperadorDescripciónejemplo
>Conectar dos cadenasa..b, donde a es "Hello ", b es "World", el resultado de salida es "Hello World".
#Operador unario, devuelve la longitud de una cadena o tabla.#"Hello" devuelve 5

ejemplo en línea

Podemos entender mejor la aplicación de los operadores de concatenación y los operadores de longitud de tablas o cadenas de caracteres a través de los siguientes ejemplos:

a é çéíó à ééíóàáçéíó
b é çéíó à çöíóàáçéíóàáçéíó
print("Conectar éíós á çéíó à á çéíó ", á..b çéíóàáçéíó )
print("b é çéíó é éíóàáçéíó ", #b é çéíóàáçéíó )
longitud cadena b
longitud cadena Test3longitud sitio web tutorial básico

resultado ejecución programa siguiente es:

orden de prioridad de operadores
^     5
no     4
(unario)     14

%

..

==
~=    - >=
*      /       <=
+      -
>
<
y
o

todos operadores binarios excepto ^ y .. son de conexión izquierda.

a+i < b/2+1          <--> x^(y^z)+i) < ((b/2)+1)
5+x^2*8              <-->       5+((x^2)*8)
x^(y^z)--> x^(y^z)
-x^2                 <-->       -(x^2)
x^y^z--> x^(y^z)

ejemplo en línea

podemos entender mejor prioridad operadores lenguaje Lua mediante siguiente ejemplo:

a = 20
b = 10
c = 15
d = 5
e = (a + b) * c / d;-- ( 30 * 15 ) / 5
print("(a + b) * c / d) valor de operación:
e = ((a + b) * c) / d; -- (30 * 15 ) / 5
print("((a + b) * c) / d) valor de operación:
e = (a + b) * (c / d);-- (30) * (15/5)
print("(a + b) * (c / d) valor de operación:
e = a + (b * c) / d;  -- 20 + (150/5)
print("a + (b * c) / d) valor de operación:

resultado ejecución programa siguiente es:

(a + b) * c / d) valor de operación:    90.0
((a + b) * c) / d) valor de operación:    90.0
(a + b) * (c / d) valor de operación:    90.0
a + (b * c) / valor de operación d:    50.0