3

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

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

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

任何帮助表示赞赏。

4

1 回答 1

8

你非常接近:

local execute = {
  ['+'] = function (x, y) return x + y end,
  ['-'] = function (x, y) return x - y end,
}
print(execute['+'](2, 2) == 4)
于 2013-04-19T16:17:14.377 回答