-- 定义一个表来表示数组
local array = {}
-- 初始化数组大小
local size = 0
-- 定义元表
local mt = {
__index = function(t, k)
-- 当尝试访问不存在的索引时,返回nil
local v = rawget(t, k)
if v == nil then
return "666"
end
return v
end,
__newindex = function(t, k, v)
rawset(t, k, v)
end
}
-- 设置元表
setmetatable(array, mt)
-- 使用数组
array[1] = "Hello"
array[2] = "World"
-- 访问数组
print(array[1]) -- 输出: Hello
print(array[2]) -- 输出: World
print(array[3]) -- 输出: nil