Recapitulação - Gerador de Números
Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 53 de 54.
Desafio
FácilEscreva uma função createNumberGenerator que recebe count e retorna uma string mostrando todos os números gerados por uma corrotina.
Crie uma corrotina que gere números sequencialmente começando de 1. Cada vez que a corrotina for retomada, ela deve produzir o próximo número na sequência. Retome a corrotina count vezes para coletar todos os números gerados, então retorne-os como uma única string com cada número em uma nova linha.
Lógica:
- Crie uma função que use um loop para produzir os números 1, 2, 3, etc.
- Envolva esta função em uma corrotina usando
coroutine.create() - Retome a corrotina
countvezes, coletando cada número produzido - Concatene todos os números com caracteres de nova linha entre eles
- Retorne a string concatenada
Parâmetros:
count(number): O número de valores a serem gerados a partir da sequência
Retorna: Uma string contendo todos os números gerados separados por novas linhas (string). Formato: 1\n2\n3
Experimente você mesmo
function createNumberGenerator(count)
-- Escreva o código aqui
end
Todas as lições de Logic & Flow
1Iteração Avançada de Tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de Personagem2Mais Funções da Biblioteca Table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRecapitulação - Placar de recordes3Conceitos Avançados de Funções
Retornando Múltiplos ValoresFunções Variádicas (...)Funções como Valores de Primeira ClasseFunções AnônimasO que é uma Closure?Recapitulação - Manipulador de Eventos Simples9Coroutines para Iniciantes
O que é uma Coroutine?coroutine create & resumePausando com coroutine.yield()resume & yieldVerificando o Status da CoroutineRecapitulação - Gerador de NúmerosRecapitulação - Matemática de Vetores