【发布时间】:2012-10-03 10:12:08
【问题描述】:
我开始学习一点 Lua 模块,但我在 Lua 中的一小部分遇到了麻烦。 每次我更改变量时,它都会恢复为零。
myModule.lua
--I should note that client is a number.
module(..., package.seeall)
local LoggedIn = { }
function isLogged( client )
return LoggedIn[client]
end
function logIn(client)
table.insert(LoggedIn,client,true)
end
function logOut(client)
table.remove(LoggedIn,client)
end
main.lua 一个事件发生
package.loaded.myModule= nil; require "myModule"
function event( client )
myModule.logIn(client)
end
function event_2( client )
myModule.logOut(client)
end
编辑:改为使用函数,并使其成为局部变量。 即使我可以确认 logIn 函数没有错误发生,它仍然返回 nil。甚至还没有使用注销功能。 有什么想法吗?
但稍后在 main.lua 中,我检查客户端是否已登录,它只返回 nil。
这只是模块的限制还是我只是访问了错误的变量。
我应该注意我需要能够在其他访问 myModule.lua 的 Luas 中执行此操作。
提前致谢
【问题讨论】:
-
你使用的是什么版本的 Lua?
client的值是多少?向我们展示使用function event的代码(请注意,您的示例中的函数拼写错误)。
标签: variables module lua package global