Latest web development tutorials

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