我想为<number> == <table>
and<table> == <number>
表达式重载 == (相等)运算符。
但是,在我看来,Lua 仅__eq
在等式的两侧属于同一类型时才使用元方法。
例如,以下代码段无法按我的预期工作
x = {1,2}
setmetatable (x, {__eq = function (x,y) print "!" return x[y] ~= nil end})
print (x == 1)
但这一个可以:
x = {1,2}
setmetatable (x, {__eq = function (x,y) print "!" return x[y] ~= nil end})
print (x == {1})
是否可以实现==
for<number> == <table>
和<table> == <number>
表达式?
我正在运行最新版本(5.2.2)。