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