将字符串转换为算术运算符

Con*_*mus 3 string math lua casting operator-keyword

我有一个包含数学运算符的数组.在我的Lua应用程序的某些时候,我必须提取其中一个操作符并执行实际操作(不是字符串的串联).提取部分对我来说非常清楚,但我真的不知道如何将字符串转换为算术运算符来执行计算.我需要这样的东西(这是JavaScript),但是在Lua中:

var execute = {
    '+': function (x, y) { return x + y },
    '-': function (x, y) { return x - y }
}???????;

execute['+'](2, 2) == 4;
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

Pau*_*nko 8

你非常接近:

local execute = {
  ['+'] = function (x, y) return x + y end,
  ['-'] = function (x, y) return x - y end,
}
print(execute['+'](2, 2) == 4)
Run Code Online (Sandbox Code Playgroud)