Resumen: Funciones genéricas
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 66 de 80.
Desafío
IntermedioEmpaqueta dos valores de tipos diferentes en un par.
- Escribe
type Pair<T, U> = {first: T, second: U}. - Escribe
local function makePair<T, U>(first: T, second: U): Pair<T, U>que devuelva{first = first, second = second}. - Guarda
makePair("Nova", 87)enlocal playerScore: Pair<string, number>e imprime`({playerScore.first}, {playerScore.second})`.
Pulsa Ejecutar código: la salida muestra (Nova, 87).
Pruébalo tú mismo
-- 1) type Pair<T, U> = {first: T, second: U}
-- 2) makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) playerScore a partir de makePair("Nova", 87), luego imprímelo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
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 Luau4Trabajar con funciones
Tipado de parámetros y valores de retornoTipado de funciones anónimasFunciones que no devuelven nadaParámetros opcionalesValores predeterminados de parámetrosValores predeterminados para booleanosFunciones variádicasDefinir tipos de funcionesRepaso: funciones tipadas7Proyecto: Gestor de tareas tipado
Proyecto: La estructura de una tareaFunción para añadir una tarea2Tipos fundamentales
Número, cadena y booleanoEl tipo 'any': una salida de emergenciaEl tipo 'unknown'Tipos nulos y opcionalesLa inferencia de tipos en acciónAnotaciones de tipo explícitasRepaso: práctica de tipos fundamentales5Alias, 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 mapas
Arrays tipadosAgregar y leer elementos¿Qué es un tipo mapa?Declarar y acceder a mapasRecorrer tablasTablas de formas mixtasLeer una cuadrículaConstruir una cuadrículatable.unpackRepaso: arrays y mapas6Definició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éricasPractica por tu cuenta: Compilador de Luau online