Lua пользовательские операторы
Я пытаюсь создать оператора "!" который возвращает функцию печати. Я получаю следующую ошибку:
line 15: attempt to call a number value
stack traceback:
t.lua:15: in main chunk
[C]: ?
Мой код ниже:
local opTable = {}
debug.setmetatable(0,{
_call = function(a,op)
return opTable[op](a)
end
})
local function addOp(operator,f)
opTable[operator] = f
end
addOp('!',print)
print((5)'!')
Похоже, это должно сработать, потому что техника #3 на http://lua-users.org/wiki/CustomOperators использует почти точно такой же метод.