2015-05-26 44 views
1

我有一个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?

+0

你如何使用的代码片段?在什么环境下?因为在它下面添加了'M.myFunc()'的文字片段正常工作。你能向我们展示一个更具代表性的代码示例吗? –

+0

我再次编辑了我的问题。我在另一个lua文件中使用它 – wildcolor

+0

我确实已经返回M – wildcolor

回答

1

在M.myFunc中只做打印动作的函数什么都不会返回。在你的实用程序文件返回整个数组请参阅他下面的代码,将清除你的doudt。

在main.lua

utility = require('util') 
value = utility.host_url 
print(value) 
+0

这工作得到的价值,但没有解释或解决根本问题。 –

+0

你能解释清楚吗?你遇到的困惑是什么?我不明白你在问什么? – AndroidUser

+0

@AndroidUser谢谢。 siffiejoe的回答已经解决了我的问题。 – wildcolor