Varargs en Lua
... junta argumentos y los reenvía intactos.
-- ... collects arguments; tables and select unpack them.
local function party(...)
local members = { ... }
print("Party of " .. #members .. ":")
for i = 1, select("#", ...) do
print(" " .. (select(i, ...)))
end
return ...
end
party("Wren", "Moss", "Tilda")
-- Varargs forward untouched with a bare ...
local function announce(...)
print("Entering together:", ...)
end
announce(party("Wren", "Moss"))
Cómo funciona
{ ... }recoge los varargs en una tabla.select(i, ...)lee uno sin construir nada.- Un
...pelado reenvía todo a la próxima llamada.
Palabras clave y builtins usados aquí
doendforfunctionlocalprintreturnselect
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 403
- Tokens
- 94
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 87 segundos.
Paso 3 de 3 en Funciones; paso 13 de 27 en Fundamentos del lenguaje.