• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > Lua中的loadfile、dofile、require详解

Lua中的loadfile、dofile、require详解

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了Lua中使用table.concat连接大量字符串实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本来今天不应该讨论这几个函数的,不过,为了凑字数..不,为了方便以后的文章,还是要谈谈这几个基础函数的~

1.loadfile——只编译,不运行

loadfile故名思议,它只会加载文件,编译代码,不会运行文件里的代码。
比如,我们有一个hellofile.lua文件:
print(“hello”);
function hehe()
print(“hello”);
end
</div>
这个文件里有一句代码,和一个函数。试试用loadfile加载这个文件,如下代码:
    loadfile("hellofile.lua");
    print("end");
</div>

输出结果如下:
[LUA-print] end
</div>
如果说loadfile会执行文件里的代码的话,那么,应该会输出hello字符串的。
结果表明,它是不会执行代码的。

2.dofile——执行

很明显,dofile就是会执行代码的家伙了,如下代码:
    dofile("E:/Android/wordspace_cocosIDERc0/CocosLuaTest/src/hellofile.lua");
    print("end");
</div>

输出结果如下:
[LUA-print] hello
[LUA-print] end
</div>
这里有点尴尬,文件路径我用了绝对路径,因为dofile在Coco Code IDE里使用相对路径会找不到文件(即使使用了addSearchPath)

不过没关系,不影响本文的内容。

3.require——我只执行一次

require和dofile有点像,不过又很不一样,require在第一次加载文件的时候,会执行里面的代码。

但是,第二次之后,再次加载文件,则不会重复执行了。换句话说,它会保存已经加载过的文件,不会重复加载。
测试代码如下:
    for i = 1, 2, 1 do
        require("hellofile.lua");
    end
    print("end");
</div>

为了说明这种情况,我刻意调用了两次require,输出结果如下:
[LUA-print] hello
[LUA-print] end
</div>
和我们说的一样,调用了两次,但是代码只执行了一次。
如果这里换成dofile,则会输出两次hello字符串。

4.结束

我发现这样边看书边整理文章,进度有点慢…真是鱼和熊掌的问题了。

</div>

您可能想查找下面的文章:

相关文章

  • lua+love2d制作的2048游戏
  • Lua math.fmod使用时的小数问题
  • Lua中的loadfile、dofile、loadstring、require用法实例
  • 让你的python代码更加pythonic(简练、明确、优雅)
  • Lua之协同程序coroutine代码实例
  • Lua脚本实现递归删除一个文件夹
  • 深入探究Lua中的解析表达式
  • Lua协程(coroutine)程序运行分析
  • Lua中的一些常用函数库实例讲解
  • Lua中的函数相关知识点整理汇总

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua的函数环境、包实例讲解
    • Lua的协程(coroutine)简介
    • 实例讲解Lua中pair和ipair的区别
    • Lua中的迭代器和泛型for实例
    • Lua 操作 MongoDB 数据库实例
    • Lua中table的一些辅助函数介绍
    • Lua教程(九):元表与元方法详解
    • Lua中的变量和流控制入门学习
    • 详解Lua中if ... else语句的使用方法
    • Lua基础教程之表(Table)学习笔记

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有