operador Lua
Operador é um símbolo especial, utilizado para dizer o intérprete para executar operações matemáticas ou lógicas específicas. Lua fornece os seguintes tipos de operadores:
- operadores aritméticos
- Operadores relacionais
- Operadores lógicos
- outros operadores
operadores aritméticos
A tabela a seguir lista a linguagem Lua comumente usado operadores aritméticos, defina o valor da A 10, B valor de 20:
operadores | descrição | Exemplos |
---|---|---|
+ | adição | A saída de + B 30 |
- | subtração | A - Saída B -10 |
* | multiplicação | A * B 200 de saída |
/ | divisão | B / A w saída 2 |
% | restante | B% A saída 0 |
^ | exponenciação | A ^ 2 saída de 100 |
- | sinal negativo | -A Saída v -10 |
Exemplos
Nós podemos através dos seguintes exemplos para uma compreensão mais aprofundada da aplicação de 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 )
Os resultados da execução do programa acima:
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
Operadores relacionais
A tabela a seguir lista a linguagem Lua comumente usado operadores relacionais, defina um valor de 10, valor B de 20:
operadores | descrição | Exemplos |
---|---|---|
== | Equal, testar se dois valores são iguais, retornos iguais verdadeiro, falso caso contrário | (A == B) é falsa. |
~ = | não é igual para detectar se dois valores são iguais, retornos iguais falsos, caso contrário, ele retorna true < | (A ~ = B) é verdadeiro. |
> | Maior do que se o valor for superior ao valor do lado direito para o lado esquerdo, devolve verdadeiro, de outra forma falsa | (A> B) é falsa. |
< | Menor que, maior do que o valor se o valor da esquerda para a direita, e retorna falso, caso contrário, ele retorna true | (A <B) é verdadeiro. |
> = | Maior do que ou igual, se o valor for maior que ou igual à direita da esquerda, devolve verdadeiro, de outra forma falsa | (A> = B) retorna false. |
<= | Ou menos, se o valor for menor ou igual valor à direita da esquerda, retorna true, caso contrário false | (A <= B) retorna true. |
Exemplos
Podemos através dos seguintes exemplos para uma compreensão mais aprofundada da aplicação de operadores relacionais:
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
Os resultados da execução do programa acima:
Line 1 - a 不等于 b Line 2 - a 不等于 b Line 3 - a 大于等于 b Line 4 - a 大于 b Line 5 - a 小于等于 b Line 6 - b 大于等于 a
Operadores lógicos
A tabela a seguir lista a linguagem Lua comumente usado operadores lógicos, defina um valor de true, o valor B é falso:
operadores | descrição | Exemplos |
---|---|---|
e | Operador lógico AND. Se ambas são verdadeiras condições de operação é verdade. | (A e B) é falsa. |
ou | Operador lógico OR. Se qualquer operação é verdade em ambos os lados de onze condição é verdadeira. | (A ou B) é verdadeiro. |
não | NÃO lógico operador. E operação lógica contrário, se a condição for verdadeira, a negação lógica é falsa. | não (A e B) é verdadeiro. |
Exemplos
Podemos através dos seguintes exemplos para uma compreensão mais aprofundada da aplicação de 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
Os resultados da execução do programa acima:
a and b - 条件为 true a or b - 条件为 true ---------分割线--------- a and b - 条件为 false not( a and b) - 条件为 true
outros operadores
A tabela a seguir lista os operadores e de cálculo tabelas linguagem concatenação Lua ou o comprimento dos operadores de string:
operadores | descrição | Exemplos |
---|---|---|
.. | Concatenação de duas cadeias | a..b, que é um "Olá", b é "World", a saída é "Olá Mundo". |
# | operador unário, retorna o comprimento de corda ou mesa. | # "Olá" retorna 5 |
Exemplos
Podemos através dos seguintes exemplos para uma compreensão mais completa da conexão com o operador ou cordas aplicações de operador de mesa cálculo de comprimento:
a = "Hello " b = "World" print("连接字符串 a 和 b ", a..b ) print("b 字符串长度 ",#b ) print("字符串 Test 长度 ",#"Test" ) print("w3cschool本教程网址长度 ",#"www.w3cschool.cc" )
Os resultados da execução do programa acima:
连接字符串 a 和 b Hello World b 字符串长度 5 字符串 Test 长度 4 w3cschool本教程网址长度 16
Precedência de operador
Em ordem decrescente:
^ not - (unary) * / + - .. < > <= >= ~= == and or
Além de tudo o exterior .. ^ e operadores binários são deixados conectados.
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)
Exemplos
Podemos através dos seguintes exemplos para uma compreensão mais aprofundada da precedência Lua operador de idioma:
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 )
Os resultados da execução do programa acima:
(a + b) * c / d 运算值为 : 90.0 ((a + b) * c) / d 运算值为 : 90.0 (a + b) * (c / d) 运算值为 : 90.0 a + (b * c) / d 运算值为 : 50.0