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:

  1. Operadores Aritméticos
  2. Operadores de Comparación
  3. Operadores Lógicos
  4. Operadores de Concatenación
  5. Operadores de Longitud

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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:

  1. Suma
  2. Resta
  3. Multiplicación
  4. División
  5. Módulo
  6. 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:

  1. a es igual a b
  2. a es mayor que b
  3. a es menor o igual a b

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:

  1. true y false
  2. true o false
  3. Negación de true
  4. 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.

© Copyright 2024. Todos los derechos reservados