在 JavaScript 中,你可以创建一个可调用的对象,如下所示:
const prox = new Proxy(function() {}, {
get(target, key) { return true }
apply(target, that, argList) { console.log('This came from a proxy') }
})
prox() // This came from a proxy
console.log(prox.name) // true
对于我正在处理的函数,我希望有类似的东西,并且有一个可以调用的方法。
local function describe()
-- ...
end
function describe.skip()
-- ...
end
这不起作用,因为函数不是表。
理想情况下这是可能的:
local describe = {}
function describe.__apply()
-- ...
end
function describe.skip()
-- ...
end
describe()
describe.skip()