typestar

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

  1. return "silver chalice", 45, true envía tres a la vez.
  2. select("#", ...) cuenta; select(2, ...) salta.
  3. Envolver una llamada en paréntesis guarda solo el primer valor.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 3 en Funciones; paso 12 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →