【发布时间】:2019-02-11 21:24:46
【问题描述】:
我注意到一个 lua 模块将返回的表的 __index 设置为自身
local M = {
_VERSION = "1.0.0"
}
M.__index = M
function M.do()
end
return M
将表的__index 设置为自身有什么作用?
稍后,您将使用该模块
local m = require("m")
m.do()
【问题讨论】:
-
在您提供的代码中,它什么也不做。
M从未用作元表,因此__index字段并不是特别相关。它只是表中的另一个键。你能提供一个更完整的例子吗? -
听起来“它什么都不做”很可能是正确答案。
-
您更有可能错误地复制了您在模块中看到的内容。这就是为什么我想看一个完整的例子。
-
我们确实需要
uroborus标签!