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: 5Ejercicios 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: 50625Ejercicio 2: Comparaciones
Escribe un script en Lua que compare dos números a y b y muestre el resultado de las siguientes comparaciones:
aes igual abaes mayor quebaes 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: trueEjercicio 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:
trueyfalsetrueofalse- 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 genialConclusió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
