Resumen - Generador de números
Parte de la sección Logic & Flow del Journey de Lua de Coddy — lección 53 de 54.
Desafío
FácilEscribe una función createNumberGenerator que reciba count y devuelva una cadena que muestre todos los números generados por una corrutina.
Crea una corrutina que genere números secuencialmente comenzando desde 1. Cada vez que se reanude la corrutina, debe devolver (yield) el siguiente número de la secuencia. Reanuda la corrutina count veces para recolectar todos los números generados, luego devuélvelos como una sola cadena con cada número en una línea nueva.
Lógica:
- Crea una función que use un bucle para devolver los números 1, 2, 3, etc.
- Envuelve esta función en una corrutina usando
coroutine.create() - Reanuda la corrutina
countveces, recolectando cada número devuelto - Concatena todos los números con caracteres de nueva línea entre ellos
- Devuelve la cadena concatenada
Parámetros:
count(number): El número de valores a generar de la secuencia
Devuelve: Una cadena que contiene todos los números generados separados por nuevas líneas (string). Formato: 1\n2\n3
Pruébalo tú mismo
function createNumberGenerator(count)
-- Escribe el código aquí
end
Todas las lecciones de Logic & Flow
1Iteración avanzada de tablas
Iterar con pairs()Iterar con ipairs()pairs() vs. ipairs()Resumen - Ficha de personaje2Más funciones de la librería table
table.concat()Construcción de tablas y unpack()table.sort()Ordenamiento personalizado con funcionesRepaso - Tabla de puntuaciones altas3Conceptos avanzados de funciones
Retorno de múltiples valoresFunciones variádicas (...)Funciones como valores de primera claseFunciones anónimas¿Qué es un Closure?Resumen - Manejador de eventos simple9Corrutinas para principiantes
¿Qué es una corrutina?coroutine create y resumePausar con coroutine.yield()resume y yieldComprobar el estado de la corrutinaResumen - Generador de númerosResumen - Matemática de vectores