-
Lua教程(十): 全局变量和非全局的环境
Lua将其所有的全局变量保存在一个常规的table中,这个table被称为“环境”。它被保存在全局变量_G中。1. 全局变量声明:Lua中的全局变量不需要声明就可以使用。尽管很方便,但是一旦出现笔误就会造成难以发现的错误。我们可以通过给_G表加元表的方式来保护全局变量的读取和设置,这样就能降低这种笔...
kavin 2018.05.20 2752浏览 0 -
Lua教程(九):元表与元方法详解
Lua中提供的元表是用于帮助Lua数据变量完成某些非预定义功能的个性化行为,如两个table的相加。假设a和b都是table,通过元表可以定义如何计算表达式a+b。当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该元表中是否存在__add字段,如果有,就调用该字段对应的值。...
kavin 2018.05.20 2440浏览 0 -
Lua教程(八):数据持久化
1. 数据文件:我们可以利用Lua中table的构造式来定义一种文件格式,即文件中的数据是table构造并初始化的代码,这种方式对于Lua程序而言是非常方便和清晰的,如: Entry { "Stephen Liu&...
kavin 2018.05.20 2207浏览 0 -
Lua教程(七):数据结构详解
Lua中的table不是一种简单的数据结构,它可以作为其它数据结构的基础。如数组、记录、线性表、队列和集合等,在Lua中都可以通过table来表示。 1. 数组:使用整数来索引table即可在Lua中实现数组。因此,Lua中的数组没有固定的大小,如...
kavin 2018.05.20 2527浏览 0 -
Lua教程(六):编译执行与错误
1. 编译:Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块。但实际上dofile只是一个辅助函数,loadfile才是真正的核心函数。相比于dofile,loadfile只是从指定的文件中加载Lua代码块,然后编译这段代码块,如果有编译错误,就返回nil,同时给出错误信息,...
kavin 2018.05.20 2484浏览 0