Lua中dofile,loadfile,require

Lua中dofile,loadfile,require

1. loadfile:

加载文件,编译文件,并且返回一个函数,不运行。使用loadfile加载的文件里的数据,不能直接使用,只有调用了相应的方法才能使用文件里的数据。

2.dofile:

其实就是包装了loadfile,并将其包装的函数执行了一遍。

3.require:

require和dofile的区别就是,require是只会加载一次。搜索该文件时会判断该文件是否加载过,如果加载过就不加载。

4.require加载原理

加载过的文件,package.loaded[require的模块名]=true,这个里面会记录文件是否加载过。reqruie的默认返回值是true,若文件有返回值则返回自己的返回值。需要热更新一个文件只需设置package.loaded[require的模块名]=nil,下次require的时候会重新加载新的文件。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务