通常沙盒会阻止 setmetatable,如下所示:
local function memoize(f)
local mt = {}
local t = setmetatable({}, mt)
function mt:__index(k)
local v = f(k)
t[k] = v
return v
end
return t
end
问题是,我不想使用 setmetatable。它到底是什么,我将如何解决它?在上述情况下,它只是一个作为复制“mt”变量的全局变量吗?我应该做些什么具体的事情吗?
谢谢。