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
我想在 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