Ir para conteúdo

Material De Apoio Vi


joaohd

Posts Recomendados

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:

 

          Binários: 
		"+" (Soma);
		"-" (Subtração);
		"*" (Multiplicação);
		"/" (Divisão)

	Unário:
		"-" (Negação)

 

 

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:

 

			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.

 

 

É isso.

 

flw

Editado por apocarai
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...