Operadores en Lua

Operadores en Lua


Los operadores son expresiones básicas de sintaxis que permiten realizar acciones concretas, en este articulo aprenderás que operadores tiene Lua y como usarlos


Operadores aritméticos

son aquellos que permiten realizar operaciones matemáticas básicas, Lua tiene, los operadores aritméticos comunes:
OperadorOperación
+Adición
-Sustracción
*Multiplicación
/División
//división de piso
%Modulo
^Exponenciación
-Negación (Unario)

Operadores Relacionales

Los operadores relacionales son usados para comparar dos valores, si la exprecion evaluada es correcta dará un resultado true (verdadero) de lo contrario sera false (falsa). Los operadores relacionales en Lua son:
OperadorOperación
==Igualdad
~=inequality o desigualdad
<Menor que
>Mayor que
<=Menor o igual que
>=Mayor o igual que
El orden de los operadores funciona de la siguiente manera. Si ambos argumentos son números entonces se comparan como tales. En otro caso, si ambos argumentos son strings sus valores se comparan de acuerdo al sistema local. es de recordar que lua intenta seguir los estándares IEEE, en el caso de los operadores relacionales sigue el estándar IEEE 754

Operadores Bitwise

Los operadores Bitwise o bit a bit en Lua son:
OperadorOperación
&Bitwise AND
|Bitwise OR
~Bitwise XOR
>>Desplazamiento a la derecha
<<Desplazamiento a la izquierda
~Bitwise unitario NOT
Todas las operaciones bit a bit convierten sus operandos en enteros, operan en todos los bits de esos enteros y dan como resultado un entero.
Los cambios a derecha e izquierda llenan los bits vacantes con ceros. Los desplazamientos negativos cambian a la otra dirección; los desplazamientos con valores absolutos iguales o mayores que el número de bits en un entero dan como resultado cero (a medida que se desplazan todos los bits).

Operadores Lógicos

Los operadores lógicos en Lua son and, or y not. Como las estructuras de control todos los operadores lógicos consideran false y nil como falso y todo lo demás como verdadero.
El operador negación not siempre retorna false o true. El operador conjunción and retorna su primer operando si su valor es false o nil; en caso contrario and retorna su segundo operando. El operador disyunción or retorna su primer operando si su valor es diferente de nil y false; en caso contrario or retorna su segundo argumento. Tanto and como or usan evaluación de cortocircuito; esto es, su segundo operando se evalúa sólo si es necesario.

Operador Concatenación

El operador de concatenación de strings en Lua se denota mediante dos puntos seguidos .. . Si ambos operandos son strings o números entonces se convierte en a strings.

Operador Longitud

El operador longitud se denota mediante #. La longitud de un string es su número de bytes (significado normal de la longitud de un string cuando cada carácter ocupa un byte).

Precedencia de los operadores

La precedencia de los operadores en Lua sigue lo expuesto en la tabla siguiente de menor a mayor prioridad:
Precedencia
or
and
< > <= >= ~= ==
|
~
&
<< >>
..
+ -
* / // %
operadores unitarios (not # - ~ )
^
()
Los operadores de concatenación .. y de exponenciación ^ son asociativos por la derecha. Todos los demás operadores son asociativos por la izquierda.

Código

Bueno lo anterior parece algo extenso así que haremos un código explicando el uso de operadores
a = 2 b = 3 print("a = "..a.." b = "..b) -- Operadores aritméticos print(" -Operadores aritméticos- ") print("a + b = "..a+b) print("a - b = "..a-b) print("a * b = "..a*b) print("a / b = "..a/b) print("a // b = "..a//b) print("a % b = "..a%b) print("a ^ b = "..a^b) print("-a = "..-a.."-b = "..-b) -- Operadores Relacionales print(" -Operadores Relacionales- ") print("a == b = ",a == b) print("a ~= b = ",a ~= b) print("a < b = ",a < b) print("a > b = ",a > b) print("a <= b = ",a <= b) print("a >= b = ",a >= b) --Operadores Bitwise print(" -Operadores Bitwise- ") print("a & b = ",a & b) print("a | b = ",a | b) print("a ~ b = ",a ~ b) print("a >> = ",a >> 1) print("a << = ",a << 1) print("~a = ",~a ) --Operadores Lógicos print(" -Operadores Lógicos- ") print("a and b = ",a and b) print("a or b = ",a or b) print("not b = ",not b) -- Precedencia de los operadores print(" -Precedencia de los operadores- ") print("10 + b * a =") print(10+b*a)

Video

Comentarios

Publicar un comentario

Entradas más populares de este blog

SAFE MODE en PS Vita