Lua执行存储在表键值中的内容

时间:2014-12-23 16:45:48

标签: lua lua-table

我想创建一个具有特定名称作为键和特定函数作为值的表。 键名表示用户输入的命令,如果存在该名称的键,则程序应执行存储在该键值中的代码。

例如,我们在键值中创建一个包含键和函数的表:

local t = {
    ["exit"] = quitGame,
    ...,
    ...
}

我们还有一个功能,例如:

function quitGame()
  print("bye bye")
  os.exit()
end

现在我们这样做:

userInput = io.read()

for i,v in pairs(t) do
    if userInput == i then
        --now here, how do I actually run the code that is stored in that key value (v)?
    end
end

我希望你明白我要做的事。

1 个答案:

答案 0 :(得分:3)

您有一个按值键入的表格。没有必要循环找到你想要的密钥。直接查阅。然后只需调用你得到的值。

local fun = t[userInput]
if fun then
    fun()
end