Lua:将逻辑运算符存储在变量中?

我在谷歌上找不到关于这个的任何信息,所以我不得不在这里问。 我想做类似于这样的事情(非常伪代码):

y = first_value

x={op_1 = >, op_2 = <, c = some_value}

if first_value x.op_1 x.c then
...
end

对我来说,这段代码的意思是,如果first_value大于x的c值,则做一些事情。 现在,我知道我可以将op_1和op_2设置为某个值以区分它们,然后使用单独的if语句比较值,但我想最小化使用的if语句数量。

我只是想知道是否可能做到这一点,甚至以不同的形式。先感谢您!

点赞
用户1424244
用户1424244

不是这样的,操作符是语法的一部分,是具体的符号。不过,你可以使用函数来表示一个操作:

y = first_value

x={op_1 = function(a,b)return a>b end, op_2 = function(a,b)return a<b end, c = some_value}

if x.op1(first_value, x.c) then
  ...
end
2018-05-11 20:24:46