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 использует почти точно такой же метод.

0 ответов

Другие вопросы по тегам