Lua - Operadores
Um operador é um símbolo que diz ao intérprete para realizar manipulações matemáticas ou lógicas específicas. A linguagem Lua é rica em operadores integrados e fornece os seguintes tipos de operadores -
- Operadores aritméticos
- Operadores Relacionais
- Operadores lógicos
- Operadores diversos
Este tutorial explicará os operadores aritméticos, relacionais, lógicos e outros operadores diversos, um por um.
Operadores aritméticos
A tabela a seguir mostra todos os operadores aritméticos suportados pela linguagem Lua. Assumir variávelA contém 10 e variável B detém 20 então -
Operador | Descrição | Exemplo |
---|---|---|
+ | Adiciona dois operandos | A + B dará 30 |
- | Subtrai o segundo operando do primeiro | A - B dará -10 |
* | Multiplique os dois operandos | A * B dará 200 |
/ | Divide numerador por de-numerador | B / A dará 2 |
% | Operador de Módulo e o restante após uma divisão inteira | B% A dará 0 |
^ | O operador expoente pega os expoentes | A ^ 2 dará 100 |
- | Unário - operador atua como negação | -A dará -10 |
Operadores Relacionais
A tabela a seguir mostra todos os operadores relacionais suportados pela linguagem Lua. Assumir variávelA contém 10 e variável B detém 20 então -
Operador | Descrição | Exemplo |
---|---|---|
== | Verifica se os valores de dois operandos são iguais ou não, se sim a condição torna-se verdadeira. | (A == B) não é verdade. |
~ = | Verifica se o valor de dois operandos são iguais ou não; se os valores não são iguais, a condição se torna verdadeira. | (A ~ = B) é verdade. |
> | Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim então a condição torna-se verdadeira. | (A> B) não é verdade. |
< | Verifica se o valor do operando esquerdo é menor que o valor do operando direito; se sim, a condição torna-se verdadeira. | (A <B) é verdade. |
> = | Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. | (A> = B) não é verdade. |
<= | Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito; em caso afirmativo, a condição torna-se verdadeira. | (A <= B) é verdadeiro. |
Operadores lógicos
A tabela a seguir mostra todos os operadores lógicos suportados pela linguagem Lua. Assumir variávelA é verdadeiro e variável B é falso então -
Operador | Descrição | Exemplo |
---|---|---|
e | Operador lógico chamado AND. Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira. | (A e B) é falso. |
ou | Operador lógico ou chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. | (A ou B) é verdade. |
não | Operador lógico chamado NOT. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador NOT lógico tornará falso. | ! (A e B) é verdade. |
Operadores diversos
Operadores diversos suportados pela linguagem Lua incluem concatenation e length.
Operador | Descrição | Exemplo |
---|---|---|
.. | Concatena duas strings. | a..b onde a é "Hello" eb é "World", retornará "Hello World". |
# | Um operador unário que retorna o comprimento de uma string ou de uma tabela. | # "Hello" retornará 5 |
Precedência de operadores em Lua
A precedência do operador determina o agrupamento de termos em uma expressão. Isso afeta como uma expressão é avaliada. Certos operadores têm precedência mais alta do que outros; por exemplo, o operador de multiplicação tem precedência mais alta do que o operador de adição -
Por exemplo, x = 7 + 3 * 2; Aqui, x é atribuído a 13, não 20, porque o operador * tem precedência mais alta do que +, portanto, primeiro é multiplicado por 3 * 2 e, em seguida, é adicionado a 7.
Aqui, os operadores com a precedência mais alta aparecem na parte superior da tabela, aqueles com a mais baixa aparecem na parte inferior. Em uma expressão, os operadores de precedência superior serão avaliados primeiro.
Categoria | Operador | Associatividade |
---|---|---|
Unário | não # - | Direita para esquerda |
Concatenação | .. | Direita para esquerda |
Multiplicativo | * /% | Da esquerda para direita |
Aditivo | + - | Da esquerda para direita |
Relacional | <> <=> = == ~ = | Da esquerda para direita |
Igualdade | == ~ = | Da esquerda para direita |
E lógico | e | Da esquerda para direita |
OR lógico | ou | Da esquerda para direita |