16 de set. de 2009

Lua - Operadores

Continuando com nosso tutorial de Lua, falaremos hoje de operadores.

Operadores são classes de operações sobre variáveis ou elementos pré-definidos. Em lua nós temos quatro tipo de operadores: aritiméticos, concatenação, lógicos e relacionais. Vamos a eles.

Operadores Aritiméticos

Operadores aritiméticos são utilizados para realização de cálculos matemáticos. Os operadores válidos são: Soma ( + ), Subtração ( - ), Multiplicação ( * ), Divisão ( / ), Raiz ( ^ ) e Resto ( % ).

 

local a,b = 10, 3
print('Soma (+): '.. a + b)
print('Subtração (-): '.. a - b)
print('Multiplicação (*): '.. a * b)
print('Divisão (/): '.. a / b)
print('Raiz (^): '.. a ^ b)
print('Resto (%): '.. a % b)

 

Operador de Concatenação

O operador de concatenação permite juntar duas strings gerando uma nova string. Ele é representado por dois pontos ( .. )

 

local a,b = 'Maria', 'João'
print(a .. b)
print(a .. ' e ' .. b)

Operadores Lógicos

Operadores lógicos são operadores binários. Possui duas variáveis de entrada resultando em apenas uma variável de saída. Em Lua temos os seguintes operadores: E (and), Ou (or) e Não (not).

Para o operador and, o resultado será verdadeiro apenas se as variáveis de entrada forem verdadeiras, caso contrário o resultado será falso.

Para o operador or, o resultado será verdadeiro caso pelo menos uma das variáveis de entrada seja verdadeira. Se ambas forem falsas, o resultado será falso.

Para o operador not, o resultado será a negação da variável de entrada. Caso seja verdadeiro, o resultado será falso. Se a variável for falsa, o resultado será verdadeiro.

A seguir, temos a tabela verdade para os três operadores.

v1 v2 v1 and v2 v1 or v2 not v1
falso falso falso falso verdadeiro
falso verdadeiro falso verdadeiro verdadeiro
verdadeiro falso falso verdadeiro falso
verdadeiro verdadeiro verdadeiro verdadeiro falso
 

local a,b = false, true
print (a and b)
print (a or b)
print (not a)

Operadores Relacionais

Operadores relacionais verificam a relação entre duas expressões ou variáveis. São operadores relacionais: maior que ( > ), menor que ( < ), maior ou igual que ( >= ), menor ou igual que ( <= ), igual ( == ) e diferente ( ~= ).

local a,b = 1, 2

if a == b then
    print('a e b são iguais.')
elseif a > b then
    print('a é maior que b.')
elseif a < b then
    print('a é menor que b.')
end

Para saber mais

Lua – Variáveis e Estruturas de Controle

Nenhum comentário: