lua关于require和package.loaded常被忽略的故事
来源:互联网 发布:修改java环境变量 编辑:程序博客网 时间:2024/04/30 04:09
用require函数只能加载一次,因为它的特性是:
1、require函数会搜索目录加载文件
2、require会判断是否文件已经加载避免重复加载同一文件。
而这个特性二,虽然我们可能知道这两个特性,但是潜意识里面常常把这个特性二给忽视掉了.
直到哪天我们需要反复加载同一个lua文件,但是没有实现自己想要效果的时候,才会发现这个特性二的存在感特别强!
也许有的小伙伴,会有疑问,为什么要反复加载啊?加载一次不就能用了么?
当我有一些特殊的需求的时候,就可能会需要反复加载某个lua文件,例如我的文件lua文件动态地改变了,或者一些其他特殊原因.
那么,如何实现用require在我特定需求的时候可以反复加载一个lua文件?
答案是:二次加载前加这一句package.loaded[luafile] = nil就ok了
例如我们需要反复地required(‘test.lua’),那么第二次加载时的代码如下:
package.loaded[‘test.lua’] = nil
required(‘test.lua’)
参考资料:
http://baike.baidu.com/view/8751804.htm?fr=aladdin 关于required函数的特性
http://www.cnblogs.com/Wilson-Loo/p/3301989.html Lua 脚本重启 机制
http://7301766.blog.163.com/blog/static/144633559201101904135456/ LUA modue require package 区别
http://blog.csdn.net/leecrest/article/details/31742419 Lua中require、dofile、loadfile的区别
0 0
- lua关于require和package.loaded常被忽略的故事
- lua关于require和package.loaded常被忽略的故事
- lua关于require和package.loaded常被忽略的故事
- lua关于require和package.loaded常被忽略的故事
- lua关于require和package.loaded 之间的关系
- 关于lua的require使用
- lua的require和LuaLoadChunksFromZIP
- LUA require 搜索路径指定方法 和 package
- lua modue、 require、 package 区别
- Lua中的require package.path
- LUA modue require package 区别
- LUA modue require package 区别
- 常被忽略的ExecuteWithParams
- package.loaded和require配合让一个文件更新后重新加载
- lua中require和module的区别
- 【Cocos-Quick】quick源文件中关于lua的import和require的区别
- 常被忽略的SEO优化细节
- 常被忽略的小技巧
- PB中一些技巧(非原创)
- Android笔记005_Android的mvc模式讲解
- 计算正整数的划分数
- windows之视频学习之win32不需要hPrevInstance参数原因
- line vty 0 4什么意思
- lua关于require和package.loaded常被忽略的故事
- poj - 3764 - The xor-longest Path(Trie)
- sap 调用函数'STATUS_TEXT_EDIT'读订单状态新发现(转) 2010-12-08 16:09:37
- ffmpeg支持rtmp出现问题
- N皇后问题
- hdu 4004 The Frog's Games (二分+贪心)
- 越来越感觉到前端技术需要成体系的积累
- STATUS_TEXT 对象状态
- windows之c++视频学习