в Lua 5.x что такое «gettable» и «settable» событие Lua 4.0, используемое для установки меток (например, метаметодов)? - PullRequest
1 голос
/ 20 апреля 2019

В 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...