Lua教程
Lua教程,Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo 所组成并于 1993 年开发。
Lua语言特点
Lua语言特点,Lua 作为目前最为流行的、免费轻量级嵌入式脚本语言,在很多工业级的应用程序中被广泛应用,如 Adobe's Photoshop,甚至是在一些著名的游戏程序中也被大量使用,如星际。
Windows安装Lua开发环境
Windows安装Lua开发环境,Lua下载,我们首先打开如下地址,开始下载 Lua 语言开发包:http://joedf.ahkscript.org/LuaBuilds/
Centos安装Lua开发环境
Centos安装Lua开发环境,Lua安装包下载,我们首先打开如下地址,打开 Lua 的下载页面:http://www.lua.org/download.html
Windows Lua HelloWorld
Windows Lua HelloWorld,Windows Lua HelloWorld教程,我们直接打开安装好的 Lua 的路径里面的 lua.exe 程序,此时如下所示:
Windows安装Lua IDE
Windows安装Lua IDE,目前主流的 Lua IDE 有 IntelliJ IDEA + EmmyLua 插件、ZeroBrane Studio、Lua Studio、VS Code + LuaIde 以及在线 IDE。1. IntelliJ IDEA + EmmyLua 插件
Lua布尔(boolean)
Lua boolean教程,Lua 中的 boolean 类型只有两个可选值:true(真) 和 false(假)。Lua 把 false 和 nil 都看作是 "假",其它的都为 "真"。
Lua数字(number)
Lua number教程,Lua 中的 number 类型不像 C 语言 和 Java 语言 等那么丰富,默认只有一种 number 类型,即 double(双精度浮点)类型。
Lua字符串(string)
Lua string教程,Lua 中的 string 类型可以使用 `""` 或 `''` 声明,如果是块字符串,那么以 `[[` 开始,以 `]]` 结尾。同 Java、 Python 一样,Lua 的字符串是不可修改的值,可以通过 string.gsub 函数来替换字符串中的子串。
Lua表(table)
Lua table教程,Lua 中的 table 类型是一个 “关联数组”,数组的索引可以是数字或者是字符串,所有索引值都需要用 "[" 和 "]" 括起来;如果是字符串,还可以去掉引号和中括号;
Lu userdata
Lua userdata教程,Lua 作为一门嵌入式的可扩展语言,其本身的功能很精简,很多扩展功能需要由 C 语言 和 C++ 提供。而作为扩展功能的一个重要支持就是 userdata。
Lua变量转字符串
Lua变量转字符串教程,在 Lua 中,除了 table 类型其他任何类型的变量都可以被转换成字符串类型,这个转换就叫做类型转换。在 Lua 中,将变量转成字符串类型,我们可以使用 tostring 函数。
Lua变量转数字
Lua变量转数字教程,在 Lua 中,我们可以将 字符串 类型的 变量 转换成数字类型,这个转换就叫做类型转换。在 Lua 中,将变量转成数字类型,我们可以使用 tonumber 函数。
Lua if
Lua if条件判断教程,在 Lua 中,关键字 if 是用于测试某个条件的语句是否满足一定的条件,如果满足特定的条件,则会执行 if 后代码块,否则就忽略该代码块继续执行后续的代码。
Lua elseif条件判断
Lua elseif条件判断教程,在 Lua 中,关键字 if 是用于测试某个条件语句是否满足一定的条件,如果满足特定的条件,则会执行 if 后的代码块,否则就忽略该代码块继续执行后续的代码。
Lua for循环
Lua for循环教程,在 Lua 中,支持的循环有 for 循环 、while 循环 和 repeat until 循环。 Lua 中的 for 循环用于重复执行一段相同的或者类似的代码逻辑。
Lua循环嵌套
Lua循环嵌套教程,Lua 的 for 循环 也可以实现嵌套的效果,即 for 循环里面嵌套一个或多个 for 循环。这种写法就类似于 Lua 的 if 语句 、elseif 语句 和 else 语句 的嵌套。
Lua泛型for循环
Lua泛型for循环教程,在 Lua 中,for 循环支持 数值 for 循环 以及泛型 for 循环两种形式,泛型 for 循环通过一个迭代器函数来遍历所有值,类似 java 中的 foreach 语句。
Lua while循环
Lua while循环教程,Lua 的 while 循环跟 if 条件判断类似,都是在特定条件满足的情况下,执行相对应的代码,不过,while 循环是只要条件满足,会一直执行缩进里面的代码块,这点又类似于 for 循环。
Lua while循环嵌套
Lua while循环嵌套教程,Lua 的 while 循环 也可以实现嵌套的效果,即 while 循环里面嵌套一个或多个 while 循环。这种写法就类似于 Lua 的 for 循环 的嵌套。
Lua repeat until循环
Lua repeat until循环教程,Lua 的 repeat until 循环跟 while 循环 类似,不过,repeat until 循环与 while 循环的区别是不管 repeat until 的条件是否为真假,repeat until 至少会执行一次。
Lua repeat until循环嵌套
Lua repeat until循环嵌套教程,Lua 的 repeat until 循环 也可以实现嵌套的效果,即 repeat until 循环里面嵌套一个或多个 repeat until 循环。这种写法就类似于 Lua 的 while 循环 的嵌套。
Lua break语句
Lua break语句教程,在我们使用 for 循环 、while 循环 或者 repeat until 循环 时,在某种条件满足的情况下,需要终止循环的继续执行,在 Lua 中,终止循环的继续运行使用的 关键字 为 break。
Lua continue语句
Lua continue语句教程,在我们使用 for 循环、while 循环 或者 repeat until 循环 时,在某种条件满足的情况下,需要跳过本次循环,继续执行下一次循环。
Lua return语句
Lua return语句教程,在 Lua 中,跳转控制语句除了有 break 之外,还可以使用 return。如果 return 语句使用在普通的 函数 中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数。
Lua转义字符
Lua转义字符教程,在编程中有一些字符是打不出来的,比如换行,提示音,下一个制表位等等,于是程序语言的开发者就设计了转义序列(escape sequence)这种东西用来表达这些字符。
Lua字符串查找find函数
Lua字符串查找find函数教程,在 Lua 中 find 函数用于在一个指定的目标 字符串 中搜索指定的内容(第三个参数为索引),返回其具体位置。不存在则返回 nil。
Lua字符串格式化format函数
Lua字符串格式化format函数教程,在 Lua 中 format 函数用于格式化字符串,返回一个类似 printf 的格式化字符串。函数的第一个参数是格式, 之后是对应格式中每个代号的各种数据。
Lua gmatch函数
Lua gmatch函数教程,在 Lua 中 gmatch 函数用于返回一个迭代器函数,每一次调用这个函数,返回一个在字符串 str 找到的下一个符合 pattern 描述的子串。
Lua字符串配对match函数
Lua字符串配对match函数教程,在 Lua 中 match 函数只寻找源字串 str 中的第一个配对,参数 init 可选, 指定搜寻过程的起点, 默认为 1。
Lua pairs与ipairs
Lua pairs与ipairs对比,在 Lua 中 pairs 与 ipairs 都是能遍历集合(表、数组)。但 ipairs 仅仅遍历值,按照索引升序遍历,索引中断停止遍历。即不能返回 nil,只能返回数字 0,如果遇到 nil 则退出。
Lua table使用
Lua table教程,Lua 中的 table 类型是一个 “关联数组”,数组的索引可以是数字或者是字符串,所有索引值都需要用 "[" 和 "]" 括起来;如果是字符串,还可以去掉引号和中括号;
Lua表连接concat函数
Lua concat函数教程,在 Lua 中 concat 函数是 concatenate(连锁, 连接)的缩写,table.concat() 函数列出参数中指定 table 的数组部分从 start 位置到 end 位置的所有元素, 元素间以指定的分隔符(sep)隔开。
Lua表插入insert函数
Lua insert函数教程,在 Lua 中 insert 函数用于在 table 的数组部分指定位置(pos)插入值为 value 的一个元素,pos 参数可选, 默认为数组部分末尾。
Lua表最大值maxn函数
Lua maxn函数教程,在 Lua 中 maxn 函数用于指定 table 中所有正数 key 值中最大的 key 值,如果不存在 key 值为正数的元素, 则返回 0。(Lua 5.2 之后该方法已经不存在了)
Lua表删除元素remove函数
Lua remove函数教程,在 Lua 中 remove 函数用于删除 table 中指定 pos 位置的元素,pos 参数可选, 默认为 table 长度, 即从最后一个元素删起。
Lua模块
Lua模块,模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。
Lua module函数
Lua module函数,Lua5.1 提供新函数 module(),调用时会创建表并将其赋予给全局变量和 loaded table,最后还会将这个表设置为主程序块的环境。
Lua index元方法
Lua index元方法,这是 metatable 最常用的键。当你通过键来访问 table 的时候,如果这个键没有值,那么 Lua 就会寻找该 table 的 metatable(假定有 metatable)中的 `__index` 键。
Lua newindex元方法
Lua newindex元方法,Lua 中的 `__newindex` 元方法用来对表更新,`__index` 则用来对表访问。当你给表的一个缺少的索引赋值,解释器就会查找 `__newindex` 元方法。
Lua协程使用
resume和yeild的协作,resume 和 yeild 的协作是 Lua 协程的核心。我们使用一幅图描述一下,有一个大体的印象。对照下面的 coroutine 库的详细解释和最后的代码,应该可以搞清楚协程的概念了。