Retornos múltiples en Lua
Las funciones devuelven varios valores; los paréntesis truncan a uno.
-- Functions return several values; callers unpack them in place.
local function open_chest()
return "silver chalice", 45, true
end
local item, value, trapped = open_chest()
print(string.format("%s worth %d (trapped: %s)",
item, value, tostring(trapped)))
-- select counts and skips; extra returns vanish when unwanted.
local function haul()
return "rope", "idol", "map"
end
print("Haul size: " .. select("#", haul()))
print("Skipping one: " .. select(2, haul()))
local first_only = (haul())
print("Parentheses keep just: " .. first_only)
Cómo funciona
return "silver chalice", 45, trueenvía tres a la vez.select("#", ...)cuenta;select(2, ...)salta.- Envolver una llamada en paréntesis guarda solo el primer valor.
Palabras clave y builtins usados aquí
endfunctionlocalprintreturnselecttostring
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 540
- Tokens
- 97
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 90 segundos.
Paso 2 de 3 en Funciones; paso 12 de 27 en Fundamentos del lenguaje.