Lua知识点_基础_loadfile和dofile和require

本文介绍了Lua中loadfile、dofile及require三个函数的区别与用法,并通过具体示例展示了它们如何加载和执行Lua脚本文件。loadfile仅加载编译不执行,dofile则完成加载、编译并执行文件内的所有代码,而require在首次加载时执行代码,并缓存已加载的文件以避免重复加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1.概述
loadfile、dofile、require


2.实例
hellofile.lua———
print(“hello”);
function hehe()
print(“hello”);
end


(1)loadfile故名思议,它只会加载文件,编译代码,不会运行文件里的代码。
main.lua———
loadfile("hellofile.lua");
print("end");


输出结果如下:
[LUA-print] end


(2)dofile会加载文件,编译代码,运行文件里的代码。
main.lua———
dofile("E:/Android/wordspace_cocosIDERc0/CocosLuaTest/src/hellofile.lua");
print("end");


输出结果如下:
[LUA-print] hello
[LUA-print] end


这里有点尴尬,文件路径我用了绝对路径,因为dofile在Coco Code IDE里使用相对路径会找不到
文件(即使使用了addSearchPath)


(3)require在第一次加载文件的时候,会执行里面的代码。
但是,第二次之后,再次加载文件,则不会重复执行了。换句话说,它会保存已经加载过的文件,不会重复加载。
main.lua———
for i = 1, 2, 1 do
require("hellofile.lua");
end
print("end");


输出结果如下:
[LUA-print] hello
[LUA-print] end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值