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

时间:2013-04-19 16:01:52

标签: string math casting lua operator-keyword

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

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

execute['+'](2, 2) == 4;

感谢任何帮助。

1 个答案:

答案 0 :(得分:8)

你非常接近:

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