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

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

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

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

任何帮助都将不胜感激。

点赞
用户1442917
用户1442917

你非常接近:

local execute = {
  ['+'] = function (x, y) return x + y end,
  ['-'] = function (x, y) return x - y end,
}
print(execute['+'](2, 2) == 4)
2013-04-19 16:17:14