Lua: 获取默认小于数字的函数

Lua: get default less than function for numbers

我想在 Lua 中获取关系运算符“<”作为函数。 具体来说,在一个获得可选比较器的函数中,我想写某事。像这样:

function foo( comp )
  comp = comp or "the default <"
end

我试过 getmetatable( anyNumber ).__lt 但显然你无法获得数字的元 table 。 还想到了以下内容:

comp = comp or function( a, b ) return a < b end

但我觉得这只是将原始函数包装在另一个函数中。我希望它在此代码中尽可能高效(在 Lua 中)。

另外,出于好奇,我对解决方案很感兴趣。如果我更喜欢写 less(a,b) 而不是 a < b.

怎么办

Lua 没有将其实现为 C 函数,因此不可访问

好吧,你可以 'wrap' 如果适用的话:

function less(a,b)
    return a < b
end