1

在 lua 4.0 中,标记方法“gettable”允许拦截对表元素的访问。每次尝试访问表格元素时,都会调用“gettable”事件的链接标记方法:

local t = { a=123 }
local tg = newtag()
settagmethod(tg, "gettable", 
  function(tbl, idx) print(tbl, idx) return rawget(tbl, idx) end )
settag(t, tg)
print(t.a)    -- <-- prints table: 0x7f9a8250acc0   a
              -- <-- then prints t.a value

Lua 5.xx 中的等价物是什么?

每次在 Lua 5.x 中访问表时,我的代码如何调用方法?

4

0 回答 0