typestar

__index en Lua

Las búsquedas perdidas van al respaldo: herencia en una línea.

-- __index sends missed lookups elsewhere: inheritance in one line.
local defaults = { hp = 20, speed = 4, torch = true }

local goblin = setmetatable({ hp = 7 }, { __index = defaults })

print("Goblin hp (own): " .. goblin.hp)
print("Goblin speed (inherited): " .. goblin.speed)

-- Writing touches only the table itself, never the fallback.
goblin.speed = 6
print("Goblin speed (now own): " .. goblin.speed)
print("Defaults untouched: " .. defaults.speed)

Cómo funciona

  1. setmetatable(t, { __index = defaults }) cablea la cadena.
  2. Las lecturas caen a través; goblin.speed viene de defaults.
  3. Las escrituras quedan en la tabla misma — el respaldo no cambia.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
457
Tokens
77
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 71 segundos.

Escribe este fragmento

Paso 1 de 3 en Metatablas; paso 17 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →