if-statement - 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 语句的数量。
我只是想知道这样的事情是否可能,甚至可能以不同的形式出现。提前致谢!
解决方案
不是这样,运算符是作为语法一部分的特定符号。但是,您可以使用函数来表示操作:
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
推荐阅读
- c++ - 在向量中插入对象后如何更改代码
- unity3d - 资产包的统一问题
- rest - 如何在 postgres 数据库中编写嵌套切片?
- flutter - 颤动中加载本地视频路径时出错
- reactjs - 获取 ReactElement 的类实例
- google-cloud-platform - 如何使用 Jenkins Pipeline 在 GCP 上创建 VM
- c# - PL2303TA(USB 转串行桥控制器)串行端口速度为 3Mbps(C#)
- r - 我的 macOS Big Sur 上的 Rstudio 无法从源代码安装 R 包或无法打开 CPP 文件
- sublimetext4 - 如何只为一个文件 ST4 设置自动完成?
- logging - 日志基础 2 序言