一个lua文件如何调用另一个lua文件的变量?

    进来在学习春哥的OpenResty,个人对lua也不怎么熟练,难免会碰到很多奇奇怪怪的问题,这里就稍微记录下碰到的一些小问题,以供他人参考。

    上网搜相关资料,大多数资料都只是说调用lua的require或者dofile,并且详细说命它们的区别,不是说没用,只是没有回答我的问题——如何在OpenResty服务器上,实现lua文件之间的变量互用?

    首先,得要指定require的路径,需要在http段里面配置变量"lua_package_path "/topath/?.lua;;";",注意这里的"topath"是绝对路径且后面两个分号";;"不能省。

   然后是在需要定义变量当配置的lua文件(config.lua)中定义变量,比如我要定义一个table,应该这样定义"table = {a=1, b=2}"。注意千万不要在前面加上"local",否则是读不到的。

    最后就是在逻辑处理的lua中引用config.lua的全局变量,需要先调用require("config"),把文件加载进来,然后是调用table的成员,直接"table.a"就能够访问a的值了。

转载于:https://my.oschina.net/chrisforbt/blog/481626

你可能感兴趣的:(一个lua文件如何调用另一个lua文件的变量?)