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

我想将关系运算符“<”作为一个 Lua 函数获取。 具体来说,在获取可选比较器的函数中,我想写如下内容:

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

我尝试使用 getmetatable( anyNumber ).__lt, 但显然您无法获取数字的元表。 同时想到了以下解决方案:

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

但我感觉这只是在另一个函数中包装了原始函数。我希望在此代码中尽可能地(在 Lua 中)高效。 同时,出于好奇心,我也想知道一个解决方案,即如果我更喜欢写 less(a,b) 而不是 a < b。

点赞
用户5129715
用户5129715

Lua 并未将此作为 C 函数实现,因此不可访问。

2015-12-20 11:27:38
用户3979429
用户3979429

如果适用的话,你可以将它“包装”起来:

function less(a,b)
    return a < b
end
2015-12-20 18:44:54