operador de Lua
El operador es un símbolo especial, usado para decirle al intérprete para realizar operaciones matemáticas o lógicas específicas. Lua ofrece los siguientes tipos de operadores:
- Los operadores aritméticos
- Los operadores relacionales
- Los operadores lógicos
- otros operadores
Los operadores aritméticos
La siguiente tabla muestra el lenguaje Lua usa comúnmente operadores aritméticos, establece el valor de A 10, el valor de B, de 20:
| operadores | descripción | Ejemplos |
|---|---|---|
| + | adición | Una salida de + B 30 |
| - | resta | A - B de salida -10 |
| * | multiplicación | A * B de salida 200 |
| / | división | B / w Una salida 2 |
| % | resto | B% Una salida 0 |
| ^ | exponenciación | A ^ 2 de salida 100 |
| - | signo negativo | -A Salida v -10 |
Ejemplos
Podemos a través de los siguientes ejemplos a una comprensión más profunda de la aplicación de los operadores aritméticos:
a = 21
b = 10
c = a + b
print("Line 1 - c 的值为 ", c )
c = a - b
print("Line 2 - c 的值为 ", c )
c = a * b
print("Line 3 - c 的值为 ", c )
c = a / b
print("Line 4 - c 的值为 ", c )
c = a % b
print("Line 5 - c 的值为 ", c )
c = a^2
print("Line 6 - c 的值为 ", c )
c = -a
print("Line 7 - c 的值为 ", c )
Los anteriores resultados de la ejecución del programa:
Line 1 - c 的值为 31 Line 2 - c 的值为 11 Line 3 - c 的值为 210 Line 4 - c 的值为 2.1 Line 5 - c 的值为 1 Line 6 - c 的值为 441 Line 7 - c 的值为 -21
Los operadores relacionales
La siguiente tabla muestra el lenguaje Lua usa comúnmente operadores relacionales, establecer un valor de 10, el valor de B, de 20:
| operadores | descripción | Ejemplos |
|---|---|---|
| == | Igual, comprobar si dos valores son iguales, iguales devuelve true, false en caso contrario | (A == B) es falsa. |
| ~ = | no es igual para detectar si dos valores son iguales, iguales rendimientos falsas, de lo contrario, devuelve true < | (A ~ = B) es verdadera. |
| > | Mayor que si el valor es mayor que el valor del lado derecho al izquierdo, devuelve true, false en caso contrario | (A> B) es falsa. |
| < | Menor que, mayor que el valor si el valor de la izquierda a la derecha, y devuelve falso, de lo contrario, devuelve true | (A <B) es verdadera. |
| > = | Mayor o igual, si el valor es mayor o igual a la derecha de la izquierda, que devuelve verdadero, falso en caso contrario | (A> = B) devuelve falso. |
| <= | O menos, si el valor es menor o igual valor a la derecha de la izquierda, devuelve verdadero, falso en caso contrario | (A <= B) devuelve verdadero. |
Ejemplos
Podemos a través de los siguientes ejemplos a una comprensión más profunda de la aplicación de los operadores relacionales:
a = 21
b = 10
if( a == b )
then
print("Line 1 - a 等于 b" )
else
print("Line 1 - a 不等于 b" )
end
if( a ~= b )
then
print("Line 2 - a 不等于 b" )
else
print("Line 2 - a 等于 b" )
end
if ( a < b )
then
print("Line 3 - a 小于 b" )
else
print("Line 3 - a 大于等于 b" )
end
if ( a > b )
then
print("Line 4 - a 大于 b" )
else
print("Line 5 - a 小于等于 b" )
end
-- 修改 a 和 b 的值
a = 5
b = 20
if ( a <= b )
then
print("Line 5 - a 小于等于 b" )
end
if ( b >= a )
then
print("Line 6 - b 大于等于 a" )
end
Los anteriores resultados de la ejecución del programa:
Line 1 - a 不等于 b Line 2 - a 不等于 b Line 3 - a 大于等于 b Line 4 - a 大于 b Line 5 - a 小于等于 b Line 6 - b 大于等于 a
Los operadores lógicos
La siguiente tabla muestra el lenguaje Lua usa comúnmente operadores lógicos, establecer un valor de verdad, el valor de B es falsa:
| operadores | descripción | Ejemplos |
|---|---|---|
| y | Operador lógico AND. Si ambas son verdaderas condiciones de funcionamiento es cierto. | (A y B) es falsa. |
| o | Operador lógico OR. Si cualquier operación es cierto en ambos lados de las once condición es verdadera. | (A o B) es verdadera. |
| no | Lógico NO operador. Y la operación lógica contrario, si la condición es verdadera, la negación lógica es falsa. | No (A y B) es verdadera. |
Ejemplos
Podemos a través de los siguientes ejemplos a una comprensión más profunda de la aplicación de los operadores lógicos:
a = true
b = true
if ( a and b )
then
print("a and b - 条件为 true" )
end
if ( a or b )
then
print("a or b - 条件为 true" )
end
print("---------分割线---------" )
-- 修改 a 和 b 的值
a = false
b = true
if ( a and b )
then
print("a and b - 条件为 true" )
else
print("a and b - 条件为 false" )
end
if ( not( a and b) )
then
print("not( a and b) - 条件为 true" )
else
print("not( a and b) - 条件为 false" )
end
Los anteriores resultados de la ejecución del programa:
a and b - 条件为 true a or b - 条件为 true ---------分割线--------- a and b - 条件为 false not( a and b) - 条件为 true
otros operadores
La siguiente tabla muestra las tablas de cálculo del operador y el lenguaje Lua concatenación o la longitud de los operadores de cadena:
| operadores | descripción | Ejemplos |
|---|---|---|
| .. | La concatenación de dos cadenas | a..b, que es un "Hola", b es "World", la salida es "Hello World". |
| # | operador unitario, devuelve la longitud de cuerda o de mesa. | # "Hola" devuelve 5 |
Ejemplos
Podemos a través de los siguientes ejemplos a una comprensión más profunda de la conexión con las aplicaciones del operador longitud de la tabla de cálculo de operador o de cadena:
a = "Hello "
b = "World"
print("连接字符串 a 和 b ", a..b )
print("b 字符串长度 ",#b )
print("字符串 Test 长度 ",#"Test" )
print("w3cschool本教程网址长度 ",#"www.w3cschool.cc" )
Los anteriores resultados de la ejecución del programa:
连接字符串 a 和 b Hello World b 字符串长度 5 字符串 Test 长度 4 w3cschool本教程网址长度 16
Prioridad de los operadores
En orden descendente:
^ not - (unary) * / + - .. < > <= >= ~= == and or
Además de todo el exterior .. ^ operadores binarios y se deja conectado.
a+i < b/2+1 <--> (a+i) < ((b/2)+1) 5+x^2*8 <--> 5+((x^2)*8) a < y and y <= z <--> (a < y) and (y <= z) -x^2 <--> -(x^2) x^y^z <--> x^(y^z)
Ejemplos
Podemos a través de los siguientes ejemplos a un entendimiento más profundo de la prioridad de los operadores lenguaje Lua:
a = 20
b = 10
c = 15
d = 5
e = (a + b) * c / d;-- ( 30 * 15 ) / 5
print("(a + b) * c / d 运算值为 :",e )
e = ((a + b) * c) / d; -- (30 * 15 ) / 5
print("((a + b) * c) / d 运算值为 :",e )
e = (a + b) * (c / d);-- (30) * (15/5)
print("(a + b) * (c / d) 运算值为 :",e )
e = a + (b * c) / d; -- 20 + (150/5)
print("a + (b * c) / d 运算值为 :",e )
Los anteriores resultados de la ejecución del programa:
(a + b) * c / d 运算值为 : 90.0 ((a + b) * c) / d 运算值为 : 90.0 (a + b) * (c / d) 运算值为 : 90.0 a + (b * c) / d 运算值为 : 50.0