执行来自 io.read() 的用户输入

我有一个 Lua 代码,其中有一个文件中有许多不同的函数(因为多个脚本使用它们),我想让其中一个函数能够根据用户输入执行其中一些函数。因此,如果用户输入 addUser()(我的函数之一),那么代码将运行 addUser()。现在,我知道可以像下面这样做

var = io.read()
if var ==(某个函数)then
(函数)
else
if var ==(另一个函数)then

等等

但我希望有一种更简单的方法来做到这一点。

点赞
用户107090
用户107090

让用户只输入函数名称,然后执行

var = io.read()
if _G[var]~=nil then _G[var]() end

如果您想允许 foo(),请在读取后使用

var = var:gsub("[%s()]","")

的方法。

2017-03-22 20:28:44