En este tema, aprenderemos sobre los operadores en Lua, que son fundamentales para realizar operaciones aritméticas, lógicas y de comparación. Los operadores son símbolos que indican al intérprete que debe realizar una operación específica sobre uno o más operandos.
Tipos de Operadores en Lua
Lua soporta varios tipos de operadores, que se pueden clasificar en las siguientes categorías:
- Operadores Aritméticos
- Operadores de Comparación
- Operadores Lógicos
- Operadores de Concatenación
- Operadores de Longitud
- Operadores Aritméticos
Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas. A continuación se muestra una tabla con los operadores aritméticos disponibles en Lua:
Operador | Descripción | Ejemplo |
---|---|---|
+ |
Suma | a + b |
- |
Resta | a - b |
* |
Multiplicación | a * b |
/ |
División | a / b |
% |
Módulo (resto) | a % b |
^ |
Exponenciación | a ^ b |
- |
Negación Unaria | -a |
Ejemplo Práctico
local a = 10 local b = 3 print("Suma: ", a + b) -- Salida: 13 print("Resta: ", a - b) -- Salida: 7 print("Multiplicación: ", a * b) -- Salida: 30 print("División: ", a / b) -- Salida: 3.3333333333333 print("Módulo: ", a % b) -- Salida: 1 print("Exponenciación: ", a ^ b) -- Salida: 1000 print("Negación Unaria: ", -a) -- Salida: -10
- Operadores de Comparación
Los operadores de comparación se utilizan para comparar dos valores. El resultado de una comparación es siempre un valor booleano (true
o false
).
Operador | Descripción | Ejemplo |
---|---|---|
== |
Igual a | a == b |
~= |
No igual a | a ~= b |
> |
Mayor que | a > b |
< |
Menor que | a < b |
>= |
Mayor o igual que | a >= b |
<= |
Menor o igual que | a <= b |
Ejemplo Práctico
local a = 10 local b = 3 print("Igual a: ", a == b) -- Salida: false print("No igual a: ", a ~= b) -- Salida: true print("Mayor que: ", a > b) -- Salida: true print("Menor que: ", a < b) -- Salida: false print("Mayor o igual que: ", a >= b) -- Salida: true print("Menor o igual que: ", a <= b) -- Salida: false
- Operadores Lógicos
Los operadores lógicos se utilizan para combinar expresiones booleanas.
Operador | Descripción | Ejemplo |
---|---|---|
and |
Y lógico | a and b |
or |
O lógico | a or b |
not |
Negación | not a |
Ejemplo Práctico
local a = true local b = false print("Y lógico: ", a and b) -- Salida: false print("O lógico: ", a or b) -- Salida: true print("Negación: ", not a) -- Salida: false
- Operadores de Concatenación
Lua utiliza el operador ..
para concatenar (unir) dos cadenas de texto.
Ejemplo Práctico
local str1 = "Hola" local str2 = "Mundo" print("Concatenación: ", str1 .. " " .. str2) -- Salida: Hola Mundo
- Operadores de Longitud
El operador #
se utiliza para obtener la longitud de una cadena o el número de elementos en una tabla.
Ejemplo Práctico
local str = "Hola Mundo" local tbl = {1, 2, 3, 4, 5} print("Longitud de la cadena: ", #str) -- Salida: 10 print("Número de elementos en la tabla: ", #tbl) -- Salida: 5
Ejercicios Prácticos
Ejercicio 1: Operaciones Aritméticas
Escribe un script en Lua que realice las siguientes operaciones con dos números dados x
y y
:
- Suma
- Resta
- Multiplicación
- División
- Módulo
- Exponenciación
Solución
local x = 15 local y = 4 print("Suma: ", x + y) -- Salida: 19 print("Resta: ", x - y) -- Salida: 11 print("Multiplicación: ", x * y) -- Salida: 60 print("División: ", x / y) -- Salida: 3.75 print("Módulo: ", x % y) -- Salida: 3 print("Exponenciación: ", x ^ y) -- Salida: 50625
Ejercicio 2: Comparaciones
Escribe un script en Lua que compare dos números a
y b
y muestre el resultado de las siguientes comparaciones:
a
es igual ab
a
es mayor queb
a
es menor o igual ab
Solución
local a = 7 local b = 10 print("a es igual a b: ", a == b) -- Salida: false print("a es mayor que b: ", a > b) -- Salida: false print("a es menor o igual a b: ", a <= b) -- Salida: true
Ejercicio 3: Lógicos y Concatenación
Escribe un script en Lua que utilice operadores lógicos y de concatenación para evaluar y mostrar los siguientes resultados:
true
yfalse
true
ofalse
- Negación de
true
- Concatenar las cadenas "Lua" y " es genial"
Solución
local a = true local b = false print("true y false: ", a and b) -- Salida: false print("true o false: ", a or b) -- Salida: true print("Negación de true: ", not a) -- Salida: false local str1 = "Lua" local str2 = " es genial" print("Concatenación: ", str1 .. str2) -- Salida: Lua es genial
Conclusión
En esta sección, hemos cubierto los operadores básicos en Lua, incluyendo operadores aritméticos, de comparación, lógicos, de concatenación y de longitud. Estos operadores son esenciales para realizar diversas operaciones en tus scripts de Lua. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos. En el próximo módulo, exploraremos las estructuras de control en Lua.
Curso de Programación en Lua
Módulo 1: Introducción a Lua
Módulo 2: Conceptos Básicos
Módulo 3: Conceptos Intermedios
Módulo 4: Conceptos Avanzados
- Corutinas
- Programación Orientada a Objetos en Lua
- Técnicas de Depuración
- Optimización del Rendimiento
- Uso de la API C de Lua
Módulo 5: Aplicaciones Prácticas
- Construcción de un Juego Simple
- Scripting en Motores de Juegos
- Automatización de Tareas con Lua
- Integración de Lua con Otros Lenguajes