在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
lua的module好像是5.1开始有的 在xx.lua的开头写上 module('my_module') 这行等价于如下几行 local name = 'my_module' local M = {} _G[name] = M package.loaded[name] = M setfenv(1, M)
但是此时setfenv后就无法访问原_G了 解决之一: 在module前先把_G赋值一下 local _G = _G module('my_module') 解决之二: 用元表 local name = 'my_module' local M = {} _G[name] = M package.loaded[name] = M setmetatable(M, {__index = _G}) setfenv(1, M) 等价于 module('my_module',package.seeall)
另,要在A模块中使用B模块,需要加require('B')
|
请发表评论