-- Utiliza la función print() para imprimir texto en la consola print("Hola") print("mundo") -- Resultado: -- Hola -- mundo. -- Concatena cadenas y variables utilizando ".." local species = "Marciano" print("Saludos " .. species) -- Resultado: -- Saludos Marciano
Utilizamos los comentarios para describir lo que hacen determinados bloques de código en lenguaje llano (no código). Los comentarios no se ejecutan realmente. En su lugar, sólo están ahí para ayudarnos a leer el código.
Podemos hacer comentarios multilínea con "--[[comentario]]" y comentarios de una sola línea con "--".
--[[ Este programa pedirá al usuario dos números. Luego imprimirá su suma. ]] print("Introduce un número: ) local numOne = tonumber(io.read()) print("Introduce un segundo número: ) local numTwo = tonumber(io.read()) print("Suma: " .. (numOne + numTwo)) -- Este programa suma 1 y 2 local added = 1 + 2 print(added)
Utilizamos variables para almacenar valores. Podemos utilizar y alterar estos valores a lo largo de nuestro programa.
-- Inicializar una variable local myVarName = 5 -- Asigna un nuevo valor a una variable existente myVarName = 10 -- Imprime el valor de una variable print(myVarName) -- Imprime "10". print("El valor es: " .. myVarName) -- imprime "El valor es 10"
Podemos utilizar las entradas del usuario para controlar nuestro código utilizando el comando io.read(). Primero, utiliza una sentencia print para preguntar al usuario. A continuación, utiliza io.read() para recoger las entradas del usuario. Podemos almacenar la entrada en una variable para utilizarla en nuestro programa.
Ten en cuenta que los valores introducidos por el usuario se almacenan como una cadena.
-- Este programa obtiene el nombre del usuario print("¿Cuál es tu nombre?") local name = io.read() print("¡Hola" .. name .. "!") -- Utiliza la función tonumber() para convertir las entradas del usuario en un número print("Introduce un número: ") local num = tonumber(io.read())
Utiliza operadores matemáticos para alterar valores.
-- Operadores: + Suma - Resta * Multiplicación / División ^ Exponenciación % Módulo (Resto) () Paréntesis (Para el orden de las operaciones) -- Ejemplos var z = x + y var w = x * y -- Incrementar (añadir uno) x = x + 1 -- Disminución (resta uno) x = x - 1 -- Exponenciación local squared = 5 ^ 2 print(squared) -- imprime 25 -- Módulo local z = 10 % 4 -- 10 / 4 = 2 resto 2 print(z) -- imprime 2
Puedes generar números aleatorios utilizando el comando math.random(low, high).
-- Necesitas incluir este comando para activar la aleatoriedad math.randomseed(os.time()) -- Genera un número entero aleatorio entre bajo y alto, ambos inclusive math.random(low, high) -- Ejemplo: Esto simula lanzar un dado de 6 caras local roll = math.random(1, 6)
Una función es un bloque de código reutilizable que se utiliza para realizar una única tarea. Utilizamos funciones en nuestro código para dividir nuestro programa en partes más pequeñas, hacer que nuestro programa sea más legible y evitar crear código repetitivo.
Nombre de las funciones: Debes nombrar las funciones en función de lo que hacen. Los nombres también deben utilizar la convención de las minúsculas camel.
Definición de funciones: Definir una función es lo mismo que crear una función. Dentro de la definición de la función, le indicas al ordenador qué órdenes debe ejecutar cuando se llame a la función.
Llamada a funciones: Llamar a una función es decirle al ordenador que ejecute el código que hay dentro de la definición de la función. Llama a una función escribiendo el nombre de la función seguido de un paréntesis. Nota importante: En Lua, tienes que definir una función antes de llamarla.
-- Define una función que suma dos números local num1 = 10 local num2 = 12 local function addNumbers() local sum = num1 + num2 print("Suma: " .. sum) end -- Llama a la función addNumbers() -- Resultado: imprime "Suma: 22"
Podemos utilizar el comando return para que una función devuelva un valor al código que la ha llamado.
-- Añadimos una sentencia return para utilizar el valor de la variable -- variable sum en nuestro programa local num1 = 10 local num2 = 12 local function addNumbers() local sum = num1 + num2 return sum end local x = addNumbers() -- se asigna a x el valor devuelto por la función addNumbers (22)
Podemos utilizar parámetros para introducir información en una función. Esto hace que nuestras funciones sean más generales y versátiles. Para crear parámetros, debes incluirlos en la definición de la función. Luego, cuando llames a la función, tienes que incluir argumentos, or valores para los parámetros.
-- En este programa, los parámetros se utilizan para introducir dos números local function addNumbers(num1, num2) local sum = num1 + num2 return sum end -- Llamamos a la función con argumentos, -- o valores dentro de los paréntesis -- Este programa imprimirá '7 print(addNumbers(3, 4))
Un booleano es un valor true or false. Puedes crear una variable booleana asignándole el valor true or false. Ten en cuenta que no hay comillas porque un valor booleano no es una cadena.
local myBoolean = true local otherBoolean = false
Utiliza operadores lógicos para comprobar varias condiciones a la vez o una condición de entre varias. Los operadores lógicos evalúan a booleanos.
-- Operador No local y = true local x = no y -- se asigna a x lo contrario de y, o false -- Operador and: Evalúa a true si todos los operandos son true local x = true local y = false local z = x and y -- A z se le asigna el valor de false -- Operador or: Evalúa a true si al menos un operando es true local x = true local y = false local z = x or y -- se asigna a z el valor de true -- ¡Puedes combinar muchos booleanos! local x = true local y = false local z = true local lotsOfBooleans = x and (y or z) -- se evalúa como true
Los operadores de comparación comparan los operandos a ambos lados del operador y deciden su relación. Los operadores de comparación evalúan a booleanos.
x == y -- ¿es x igual a y? x ~= y -- x no es igual a y x > y -- x es mayor que y x >= y -- es x mayor o igual que y x < y -- es x menor que y x <= y -- ¿es x menor o igual que y? --Ejemplo: local grade = 80 local isPassing = grade >= 70 print(isPassing) -- Imprime true porque 80 es mayor que 70
Usa una declaración if/else para indicar al ordenador que tome una decisión entre varias condiciones. Si la primera condición es false, el ordenador pasará a la siguiente hasta que encuentre una que sea true. Si ninguna condición es true, se ejecutarán los comandos del bloque else.
-- Declaración if if BOOLEAN_EXPRESSION then -- código a ejecutar if true end -- Declaración if/else if BOOLEAN_EXPRESSION then -- código a ejecutar si true else -- código a ejecutar si false end -- Algunos ejemplos de condicionales: -- Comprueba si un número es negativo local x = -1 if x < 0 then print("x es negativo") end -- Comprueba si un color es un color primario local color = "purple" if color == "red" or color == "blue" or color == "yellow" then print("Color primario.") else print("No es un color primario.") end
Utiliza un para loop para repetir un bloque de código un número fijo de veces.
-- Estructura general del for loop: for i = 1, COUNT, INCREMENT do -- Código para repetir el número de veces COUNT end -- Este bucle for imprimirá "Hola" cinco veces for i = 1, 5 do print("Hola") end -- Este ejemplo imprime los números del 0 al 10 for i = 0, 10 do print(i) end -- También puedes incluir un valor de incremento -- Esto imprime los números impares del 1 al 11 for i = 1, 11, 2 do print(i) end
Los bucles while repiten un bloque de código hasta que una condición se convierte en false.
-- Estructura general del bucle while: while BOOLEAN_EXPRESSION do -- código a repetir hasta -- BOOLEAN_EXPRESSION sea false end -- Este while loop cuenta hacia atrás desde 15 hasta 10 local i = 15 while i > 9 do print(i) i = i - 1 end -- Utiliza una instrucción break para salir de un loop while true do -- código a repetir if condition then break end end
Un array es una forma de almacenar varios valores o datos bajo un mismo nombre de variable. Puedes añadir elementos, eliminar elementos y alterar elementos dentro de un array.
-- Crea un array vacío local arr = {} -- Crea un array con valores local arr = {1, 2, 4} -- Un array puede tener cualquier tipo (x es una variable) local arr = [4, "hola", x] -- Accede a un elemento de un array con arr[índice]. local firstElement = arr[1] -- Asigna a un índice de un array un nuevo valor arr[3] = 9 -- Añade un elemento a un array como último elemento table.insert(arr, element) -- También puedes especificar dónde añadir el elemento en la lista table.insert(arr, index, element) -- Elimina el último elemento de un array table.remove(arr) -- Elimina un elemento en un índice concreto table.remove(arr, index) -- Longitud de un array local length = #arr -- Loops sobre un array for i = 1, #arr do local element = arr[i] print(element) end