Lua表格全局/局部变量混淆了

我有一个lua表,我用它在文件之间共享值。但我在以下情况下感到困惑

utility.lua文件

M = {}
M.host_url = '192.168.0.1'
function M.myFunc()
   print(M.host_url )
end
return M

在我的main.lua中

utility = require('utility')
utility.myFunc()   -- this gives me 'a nil value' error

host_url为什么会出现错误(nil value)?

点赞
用户4927949
用户4927949

在 M.myFunc 中,只有打印操作,函数不会返回任何值。在您的工具文件中,返回整个数组,请参见下面的代码,它将清除您的疑问。

在 main.lua 中:

utility = require('util')
value = utility.host_url
print(value)
2015-05-27 09:27:02