Resumen: Funciones genéricas
Parte de la sección Introducción a Luau del Journey de Lua de Coddy — lección 62 de 73.
Desafío
IntermedioCombina alias genéricos y funciones genéricas en un solo programa.
Define un alias de tipo genérico llamado Pair con dos parámetros de tipo T y U, que describa una tabla con:
firstde tipoTsecondde tipoU
Crea una función genérica llamada makePair que declare T y U, acepte first: T y second: U, y los devuelva empaquetados en un Pair<T, U>.
Crea una función genérica llamada describePair que declare T y U, acepte un pair: Pair<T, U>, y devuelva la cadena ({first}, {second}) construida con interpolación de cadenas (tipo de retorno string).
Después:
- crea
playerScorede tipoPair<string, number>llamando amakePair("Nova", 87) - crea
levelDonede tipoPair<number, boolean>llamando amakePair(3, true) - imprime
playerScore.first - imprime
playerScore.second - imprime
describePair(playerScore) - imprime
describePair(levelDone) - imprime
describePair(makePair("Luau", 2026))en una sola línea
Pruébalo tú mismo
-- Escribe código aquí
-- 1) define el tipo Pair<T, U> = {first: T, second: U}
-- 2) define makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) define describePair<T, U>(pair: Pair<T, U>): string
-- devolviendo `({pair.first}, {pair.second})`
-- 4) construye playerScore ("Nova", 87) y levelDone (3, true),
-- luego imprime las cinco líneas requeridas
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 Tipadas2Tipos 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 Maps6Definición de formas de tablas
Anotaciones de forma en líneaAlias de tipos para formasPropiedades opcionalesFormas frente a tablas no estructuradasExtensión de formasAñadir métodos a las formasEl parámetro 'self' y los métodos con dos puntosRecapitulación: Definición de formas de tablas9Genéricos: Una primera mirada
El problema que resuelven los genéricosUna función de identidad genéricaUso de una función genéricaArrays genéricosAlias de tipos genéricosResumen: Funciones genéricas