unity lua require dofile loadfile 区别
oadfile,加载文件,编译文件,并且返回一个函数,不运行
dofile其实就是包装了Loadfile,根据loadfile的返回函数运行一遍
require加载文件的时候,不用带目录,有lua自己的搜索加载目录的路径,并且会判断文件是否加载过,加载过则不加载.
下面是详细介绍:摘自《Lua程序设计第二版》
虽然我们把 Lua 当作解释型语言,但是 Lua 会首先把代码预编译成中间码然后再执
行(很多解释型语言都是这么做的)。在解释型语言中存在编译阶段听起来不合适,然而,
解释型语言的特征不在于他们是否被编译,而是编译器是语言运行时的一部分,所以,
执行编译产生的中间码速度会更快。我们可以说函数 dofile 的存在就是说明可以将 Lua
作为一种解释型语言被调用。
dofile:把它当作 Lua 运行代码的 chunk 的一种原始的操作。
实际上是一个辅助的函数。真正完成功能的函数是 loadfile;与 dofile 不同的是 loadfile
编译代码成中间码并且返回编译后的 chunk 作为一个函数,而不执行代码;另外 loadfile
不会抛出错误信息而是返回错误代。.我们可以这样定义 dofile:
function dofile (filename)
local f = assert(loadfile(filename)) --如果 loadfile 失败 assert 会抛出错误。
return f() -- 根据loadfile的返回函数运行一遍
end
原文地址:https://blog.csdn.net/u012861978/article/details/54667179
unity lua require dofile loadfile 区别的更多相关文章
- Lua中的loadfile,dofile,require使用,最后还有调试
1.loadfile---只编译,不运行. loadfile编译代码成中间码并且返回编译后的chunk作为一个函数,而不执行代码:另外loadfile不会抛出错误信息而是返回错误代号. loadstr ...
- Lua Require函数
转自:http://www.cppblog.com/cslover/archive/2013/12/21/204934.html Lua提供高级的require函数来加载运行库.粗略的说require ...
- 扩展 lua require 的行为
扩展 lua require 的行为 来源 https://blog.codingnow.com/2015/10/lua_require_env.html 今天同事提了个需求,他希望可以给部分 lua ...
- lua require路径设置实例
1.首先要强调的是,lua require的路径用的是斜杠"/",而不是从Windows文件属性那里复制来的反斜杠"\". 2.通过 print(pagckag ...
- 出售一套Unity + Lua热更新框架代码
出售一套Unity + Lua的客户端框架代码,功能有资源管理.网络通信.配置文件解析.热更新.文件读写.Lua加密揭秘.UI框架.打包工具.编辑器工具等,已经在多个实际项目(已上线)中使用.代码优雅 ...
- ulua 路径小记 以及 lua require 机制整理
ulua 路径小记 在学习ulua时,require模块的根路径可以为项目的Lua文件夹或者ToLua文件夹(Editor下),但是在package.path和package.cpath中并没有看到当 ...
- PHP include()和require()方法的区别
本文总结了PHP的include()和require()两种包含外部文件的方法的不同之处.基本上就是,加载失败的处理方法,性能,以及使用弹性方面的不同. PHP的include()和require() ...
- 转:PHP include()和require()方法的区别
文章来自于:http://developer.51cto.com/art/200909/153687.htm 本文总结了PHP的include()和require()两种包含外部文件的方法的不同之处. ...
- Lua require 相对路径
lua require 加载方式与我们现在熟知的路径系统不太一样,想要知道lua require 方法的工作原理也很简单 随便写一个错误的require 代码即可: 1 require("l ...
随机推荐
- (三)LDAP 新增用户
LDAP 新增用户 图一: 图二:LAM 配置 图三: 图四:全局配置 输入LAM控制台的密码,默认是LAM 图五:
- 从中国加入WTO来看Java设计模式:中介者模式
目录 应用场景 中介者模式 定义 意图 主要解决问题 何时使用 优缺点 世界贸易组织WTO 应用场景 系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象 想通过一个 ...
- day17.网络编程2+进程
1 加入链接循环的套接字服务端 1.1 服务端 ''' 2.1 基于文件类型的套接字家族 套接字家族的名字:AF_UNIX unix一切皆文件,基于文件的套接字调用的就是底层的文件系统来取数据,两个套 ...
- Day05_18_类和对象的含义与关系
Java 类和对象 类的含义? 类属于引用数据类型,java语言中所有的.class都属于引用数据类型, 在类体当中,方法体之外定义的变量被称为 成员变量,成员变量若没有赋值,系统会默认赋值为0: 先 ...
- KMP(梅开三度之数据结构详解版
前言 KMP算法是一种字符串匹配算法,其重中之重是next数组的构建,其代码的简洁与神奇使其广受关注. 但不难发现,acm中学到的KMP和数据结构里面学到的KMP并不一样o(︶︿︶)o 之前我写过ac ...
- 1035 Password
To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...
- nginx添加module之threads
一.安装nginx yum安装nginx 折叠源码 1 2 3 4 5 6 7 8 9 10 11 12 # 添加nginx源 rpm -ivh http://nginx.org/packages/c ...
- hdu5012 水搜索
题意: 给你一个正方体的初始状态和末状态,问你是否可以再6步之内转到这个状态,有四种转的方式,如果你面对的是正方向的正前方,那么转的方式就是 顺时针,逆时针,上,下. 思路: ...
- [CTF]维吉尼亚密码(维基利亚密码)
[CTF]维吉尼亚密码(维基利亚密码) ----------------------百度百科 https://baike.baidu.com/item/维吉尼亚密码/4905472?fr=aladdi ...
- Mac/Win录屏工具推荐-LICEcap
轻小.便捷.操作简单 下载 LICEcap v1.30 for macOS LICEcap v1.28 for Windows 参考地址