table.unpack
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 21 de 80.
A veces tienes valores en un array, pero los necesitas como valores separados: por ejemplo, para pasar cada elemento como argumento independiente. Para eso sirve table.unpack: devuelve todos los elementos de un array por separado.
local scores: {number} = {85, 92, 78}
print(table.unpack(scores)) -- 85 92 78 (una línea)
print(math.max(table.unpack(scores))) -- 92print recibe tres argumentos, así que los imprime en una sola línea, con una tabulación entre ellos. math.max necesita números separados, no un array, así que desempaquetar es lo que hace que la llamada funcione.
table.unpack lee el array sin modificarlo. La dirección opuesta —una función que acepta cualquier cantidad de argumentos mediante ...— se trata en la lección «Funciones variádicas» del siguiente capítulo.
Desafío
FácilDistribuye una matriz de puntuaciones en valores separados.
- Declara
local scores: {number} = {64, 88, 71}. - Imprime
table.unpack(scores). - Imprime
math.max(table.unpack(scores)).
Pulsa Ejecutar código: la salida muestra 64 88 71 en una línea y, después, 88.
Pruébalo tú mismo
-- 1) declara scores: {number} = {64, 88, 71}
-- 2) imprime los valores de scores desempaquetados y luego su math.max
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 mapasPractica por tu cuenta: Compilador de Luau online