来自Lua 5.3 文档:
__index
:索引访问table[key]
。...元方法在table
.
它对 说同样的事情__newindex
,但对任何其他元方法都没有。
如果这是真的(事实并非如此),那将是与以前版本的 Lua 的重大背离。如我所料,以下代码输出nil
,但与文档不一致。
#!/usr/bin/env lua5.3
local proto = {a = 54}
local t0 = {__index = proto}
print(t0.a)
需要明确的是:如果文档是正确的,我希望t0
在上面的代码中只需要一个__index
没有实际元表的字段 for t0.a
to be 54
。那么有谁知道doc是怎么回事?