Función para cambiar el estado de la tarea
Parte de la sección Introducción a Luau del Journey de Lua de Coddy — lección 47 de 73.
Desafío
FácilTu editor ya contiene el tipo Task, el array tasks y addTask de las lecciones anteriores.
Crea una función llamada completeTask que reciba dos parámetros:
listde tipo{Task}idde tiponumber
La función debe:
- iterar sobre
listconipairsbuscando una tarea cuyoidcoincida - si la encuentra, cambiar el
donede esa tarea atruey devolvertrue - si ninguna tarea coincide, devolver
false(tipo de retornoboolean)
Después imprime, cada uno en su propia línea:
- el indicador
donede la primera tarea (antes) - el resultado de
completeTask(tasks, 1) - el indicador
donede la primera tarea (después) - el resultado de
completeTask(tasks, 99)
Pruébalo tú mismo
-- La forma que debe seguir cada tarea en el gestor
type Task = {
id: number,
title: string,
done: boolean,
}
-- La lista de tareas: un array tipado de formas Task
local tasks: {Task} = {
{id = 1, title = "Learn Luau types", done = false},
{id = 2, title = "Build a task manager", done = false},
{id = 3, title = "Write tests", done = true},
}
-- Construye una tarea tipada con el siguiente id libre e insértala
local function addTask(list: {Task}, title: string): Task
local newTask: Task = {
id = #list + 1,
title = title,
done = false,
}
table.insert(list, newTask)
return newTask
end
-- Escribe el código aquí
-- 1) define completeTask(list: {Task}, id: number): boolean
-- 2) imprime tasks[1].done, completeTask(tasks, 1), tasks[1].done,
-- y completeTask(tasks, 99)
Todas las lecciones de Introducción a Luau
1Primeros pasos con Luau
¿Qué es Luau?¿Por qué usar Luau?Tu primer código en LuauComprobación de tipos y modos de errorRecapitulacion: Introducción a Luau4Trabajando con Funciones
Tipado de Parámetros y Valores de RetornoTipado de Funciones AnónimasFunciones que no Retornan NadaParámetros OpcionalesValores por Defecto en ParámetrosFunciones VariádicasDefinición de Tipos de FuncionesRecapitulaciones: Funciones Tipadas7Proyecto: Gestor de tareas tipado
Proyecto: La forma de la tareaFunción para añadir una tarea2Tipos principales
Tipos básicos: num, str, boolEl tipo 'any': Vía de escapeEl tipo 'unknown'Tipos nulos y opcionalesInferencia de tipos en acciónAnotaciones explícitas de tiposResumen: Práctica de tipos principales5Alias, Uniones e Intersecciones
Alias de tipos para primitivosTipos de uniónTrabajando con tipos de uniónTipos literalesTipos de intersecciónCombinando alias de tiposResumen: Combinaciones avanzadas de tipos3Tablas tipadas: Arrays y Maps
Arrays tipadosAñadir y leer elementos¿Qué es un tipo Map?Declarar y acceder a MapsIterar tablasTablas de forma mixtaArrays tipados multidimensionalestable.unpack y VarargsRecapitulaciones: Arrays y Maps