Para que possamos trabalhar com a linguagem, esta nos oferece alguns recursos aritméticos, lógicos e relacionais, o que chamamos de operadores.
Cada tipo de operador tem sua finalidade e sua precedência (privilégio) com relação aos outros.
Operadores matemáticos ou aritméticos:
São os operadores que possuem a função de realizar uma operação matemática entre os termos e seu retorno é em forma numérica.
Em lua, temos suporte aos operadores matemáticos comuns, que podem ser divididos em dois tipos: binários ou unários. E a divisão é feita da seguinte maneira:
Os operadores binários, precisam de dois termos (operandos) para que possa ser utilizado, já o unário, somente 1 termo (operando).
Veja um exemplo:
Binários:
a = 2+1 => a = 3
a = 2-1 => a = 1
a = 2*1 => a = 2
a = 2/1 => a = 2
Unário:
a = -2 => a = -2 (dois negativo)
Ou seja, o operador unário serve somente para indicar que o número se encontra abaixo de 0 na escala numérica.
Lua também nos proporciona um suporte parcial ao operador "^" (Exponenciação)
Operadores relacionais
São os operadores cuja função é comparar dois termos e sempre retorna um valor booleano (true ou false).
Em lua, os operadores que temos à disposição são os listados abaixo:
"==" (Igual);
"~=" (Diferente);
">" (Maior que);
"<" (Menor que);
">=" (Maior ou igual a);
"<=" (Menor ou igual a)
Operadores lógicos
São os operadores que tem como função, executar a lógica booleana entre os termos. A compreensão básica é bem simples, porém, conforme a necessidade do seu uso em conjunto com os outros operadores for aumentando, aumentará também seu nível de dificuldade.
Em lua, possuimos apenas o AND e o OR. Observe:
local a = 1 == 1 and "Verdadeiro" or "Falso" => a = "Verdadeiro"
local a = 1 ~= 1 and "Verdadeiro" or "Falso" => a = "Falso"
Concatenação
O que é esse raio de "concatenação"? Nada mais é que juntar os elementos. Esta expressão possui seu operador especial que é representado em lua por dois pontos finais "..". Observe:
local a = "Concatenei isso" .. " com isso" => a = "Concatenei isso com isso"
local a = "Este é o exemplo número " .. 2 => a = "Este é o exemplo número 2"
Precedência ou privilégios
Como foi dito, cada operador tem seu privilégio sobre o outro, sendo executado primeiro. Abaixo você pode conferir a ordem de relevância dos operadores em ordem decrescente:
"^" -- Primeiro a ser executado
"not" "-" (Unário) -- Segundos a serem executados
"*" "/" -- Terceiros a serem executados
"+" "-" -- Quartos a serem executados
".." -- Quintos a serem executados
"<" ">" "<=" ">=" "~=" "==" -- Sextos a serem executados
"and" -- Sétimo a ser executado
"or" -- Último a ser executado
Caso se apresentem mais de um com o mesmo privilégio, o que aparece primeiro terá maior prioridade quanto aos demais da mesma relevância.
Se precisar de aumentar a relevância de algum operador, deve-se usar parênteses entre os termos e o operador, e este será executado em primeira ordem.
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man
Material de Apoio VI
Expressões
Para que possamos trabalhar com a linguagem, esta nos oferece alguns recursos aritméticos, lógicos e relacionais, o que chamamos de operadores.
Cada tipo de operador tem sua finalidade e sua precedência (privilégio) com relação aos outros.
Operadores matemáticos ou aritméticos:
São os operadores que possuem a função de realizar uma operação matemática entre os termos e seu retorno é em forma numérica.
Em lua, temos suporte aos operadores matemáticos comuns, que podem ser divididos em dois tipos: binários ou unários. E a divisão é feita da seguinte maneira:
Mas qual a diferença entre eles?
Os operadores binários, precisam de dois termos (operandos) para que possa ser utilizado, já o unário, somente 1 termo (operando).
Veja um exemplo:
Ou seja, o operador unário serve somente para indicar que o número se encontra abaixo de 0 na escala numérica.
Lua também nos proporciona um suporte parcial ao operador "^" (Exponenciação)
Operadores relacionais
São os operadores cuja função é comparar dois termos e sempre retorna um valor booleano (true ou false).
Em lua, os operadores que temos à disposição são os listados abaixo:
Operadores lógicos
São os operadores que tem como função, executar a lógica booleana entre os termos. A compreensão básica é bem simples, porém, conforme a necessidade do seu uso em conjunto com os outros operadores for aumentando, aumentará também seu nível de dificuldade.
Em lua, possuimos apenas o AND e o OR. Observe:
Concatenação
O que é esse raio de "concatenação"? Nada mais é que juntar os elementos. Esta expressão possui seu operador especial que é representado em lua por dois pontos finais "..". Observe:
Precedência ou privilégios
Como foi dito, cada operador tem seu privilégio sobre o outro, sendo executado primeiro. Abaixo você pode conferir a ordem de relevância dos operadores em ordem decrescente:
"^" -- Primeiro a ser executado "not" "-" (Unário) -- Segundos a serem executados "*" "/" -- Terceiros a serem executados "+" "-" -- Quartos a serem executados ".." -- Quintos a serem executados "<" ">" "<=" ">=" "~=" "==" -- Sextos a serem executados "and" -- Sétimo a ser executado "or" -- Último a ser executadoCaso se apresentem mais de um com o mesmo privilégio, o que aparece primeiro terá maior prioridade quanto aos demais da mesma relevância.
Se precisar de aumentar a relevância de algum operador, deve-se usar parênteses entre os termos e o operador, e este será executado em primeira ordem.
É isso.
flw
Editado Janeiro 28 por apocarai