Menu
CoddyTech

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))) -- 92

print 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.

challenge icon

Desafío

Fácil

Distribuye una matriz de puntuaciones en valores separados.

  1. Declara local scores: {number} = {64, 88, 71}.
  2. Imprime table.unpack(scores).
  3. 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

Practica por tu cuenta: Compilador de Luau online