lua的一个坑:和.的区别

来源:互联网 发布:歌手王芳 知乎 编辑:程序博客网 时间:2024/05/22 01:52

两个.lua文件

main.lua如下

local log=require ("log")
local db=require ("dbConnect")


function test(dbInfo)
log.debug("test1################ user=%s",dbInfo.dbUser)
end


function LuaMain()
log.init("GameServer", config.logLevel)
log.setAppFlag("[GameServer] ")
log.debug("LuaMain")


dbConnectInfo=
{
dbName="xygamedb",
dbUser="root",
dbPassword="xxxxxx",
dbHost="127.0.0.1",
dbPort="3306",
}


test(dbConnectInfo)


db:test2(dbConnectInfo)
db.test2(dbConnectInfo)

end


dbConnect.lua如下

local log=require ("log")

module(..., package.seeall)


-- 内部变量定义
function test2(dbInfo)
log.debug("test2######user=%s",dbInfo.dbUser)
end


发现db:test2(dbConnectInfo)能调用到dbConnect.lua中的test2,但dbInfo.dbUser为空

而db.test2(dbConnectInfo)能得到正确的dbUser数据


不知道:和.有什么不同,如果:不可用,那为什么它又能运行到test2呢,奇怪!


0 0