(3) dofile( file_name ) --- 加载并执行文件
相当于loadfile()之后,返回一个函数,再调用这个函数。
这个函数是通过调用dofile()来实现的。不同的是,每次加载执行一个文件时,
require()都会记录,避免重复加载。另外,如果给定的路径找不到文件,require()会到
指定的路径下去找寻到要加载的文件。文件名称可以省去.lua后缀。
我们可以直接使用require(“model_name”)来载入别的lua文件,载入的时候就直接
执行那个文件了。比如,我们有一个hello.lua的文件:
如果我们:require(“hello”),那么就直接输出Hello, World!了。
注意:
1)require函数,载入同样的lua文件时,只有第一次的时候会去执行,后面的相同的都不执行了。
2)如果你要让每一次文件都会执行的话,你可以使用dofile(“hello”)函数
3)如果你要玩载入后不执行,等你需要的时候执行时,你可以使用 loadfile()函数,如下所示:
loadfile(“hello”)后,文件并不执行,我们把文件赋给一个变量hello,
当hello()时,才真的执行。当然,更为标准的玩法如下所示。
假设我们有一个文件叫mymod.lua,内容如下:
文件名:mymod.lua
参考:
如果你还比较喜欢Lua的话,下面是几个在线文章你可以继续学习之:
Lua官网 Lua官方网站
book.luaer.cn Lua在线lua学习教程
由于本人对Lua面向对象等的使用和理解还不深刻,这里参考了博文 酷 壳 – CoolShell.cn,
和 Lua学习总结 这里感谢这两位位博主! 由于对于Lua与C/C++的交互部分也不熟悉,因此这里
就不作过多陈述了。