Metatabla

PHOTO EMBED

Sat Oct 21 2023 02:41:15 GMT+0000 (Coordinated Universal Time)

Saved by @Yohigo

-- Definimos una tabla
local tabla = { "manzana", "banana", "cereza" }

-- Definimos una metatabla con un método __index personalizado
local metatabla = {
    __index = function(tabla, clave)
        return "No encontrado"
    end
}

-- Asignamos la metatabla a nuestra tabla
setmetatable(tabla, metatabla)

-- Ahora, cuando intentamos acceder a un elemento que no existe en la tabla, se usará nuestro método personalizado
print(tabla[4])  -- Salida: No encontrado

-- Podemos recorrer la tabla con un bucle for de la misma manera que antes
for i, fruta in ipairs(tabla) do
    print(i, fruta)
end
content_copyCOPY