Lua基础教程
入门文档,希望用自己所学以简单易懂的方式分享出来
墨香异境
墨香飘溢寻古韵,异境穿梭觅新知。
展开
-
Lua新手入门教程
最开始接触Lua语言还是在学习Nginx限流时,查询资料关注一个开源的社区openResty这个是一整套的关于Nginx方面的解决方案,由于条件限制而没有安装,采用的是自行在Nginx上安装需要的模块,然后慢慢的研究如何在Nginx上进行开发。关于Lua的教程也写了一些,在这里整合下方便学习。(一) Lua教程-开发环境安装配置(二) Lua教程-基本数据类型(三) Lua教程-流程控制...原创 2019-04-21 10:15:45 · 1224 阅读 · 3 评论 -
Lua教程-面向对象
Lua教程已接近尾声预计再有两章,从最开始对Lua的不熟悉到现在把所有Lua的基础知识都讲解出来,其实最开始在做与nginx结合限流才有这个想法,如果想着实现比较复杂的逻辑,还是要代码的,所以就想着把Lua教程分享出来。面向对象特征封装:把一个实体的信息封装到一个对象中。继承:在不改变原有程序的基础上进行扩展,有利于减少代码重复提高开发效率。多态:同一操作作用在不同的对象上,产生不同的结...原创 2019-04-21 09:59:03 · 330 阅读 · 0 评论 -
Lua教程-I/O文件操作
Lua语言也跟其他语言一样提供了对文件的操作,来看看Lua提供了那些对文件进行操作方法。文件操作方法操作方法说明io.open (filename [, mode])按照指定的mode打开一个文件io.close ([file])关闭文件,若无参数,关闭默认输出文件io.flush ()把缓冲区的数据写入到文件中io.input ([file])打...原创 2019-01-30 17:38:45 · 750 阅读 · 0 评论 -
Lua教程-元表
在Lua中我们可以对table表进行赋值和获取,但是无法对两个table表进行操作,Lua中提供了元表可以对table表进行一些操作,并且提供了两个重要的方法:setmetatable(table,metatable)getmetatable(table)方法说明setmetatable(table,metatable)对指定的table表设置元表metatable...原创 2019-01-29 17:29:05 · 697 阅读 · 0 评论 -
Lua教程-泛型for迭代器
Lua中for循环提供了对数字型和非数字型(泛型)的支持,其中对数字型的支持已经在之前的文章“Lua教程-流程控制”中进行说明,在这主要讲解下泛型for迭代器,依据table的结构分为两种:数字型table索引key全部为数字。非数字型table索引可以为数字或字母而针对这两种不通类型的table可以使用的函数有ipairs(t)和pairs(t),接下来看看这两个函数使用和区别:...原创 2019-01-26 15:18:22 · 548 阅读 · 0 评论 -
Lua教程-模块
Lua从5.1添加了对模块和包的支持,Lua模块的机构是一个表或者是函数,可以将公共的代码放在一个文件中,有利于代码的重用和降低耦合度。可以采用require函数引入模块。require函数格式require ("模块名")或require "模块名"采用之前一篇文档“Nginx结合Lua实现限流”中的示例来说明模块的引用。新创建一个文件splitutil.lua(字符串...原创 2019-01-24 22:04:06 · 332 阅读 · 0 评论 -
Lua教程-table表
Lua语言中的table可以用来解决模块、包和对象,相对于其他语言table的索引下标是从1开始的,而不是0。table(表)构造最简单的构造函数是{},可以用来创建一个空表,可以直接初始化一个数组:---创建空的表local mytable = {}---指定值mytable[1] = "Hello Lua"---清空mytable = niltable 函数操作方...原创 2019-01-21 15:08:51 · 938 阅读 · 0 评论 -
Lua教程-字符串
字符串表示方式Lua提供了3种表示字符串的方式:使用单引号使用双引号使用[[]]以上三种方式实例:local str1 = 'hello Lua'local str2 = "hello Lua"local str3 = [[hello Lua]]print(str1)print(str2)print(str3)--------输出结果---------hello Lu...原创 2019-01-18 10:25:28 · 582 阅读 · 0 评论 -
Lua教程-运算符与函数
运算符Lua语言提供了集中基本的运算符类型原创 2019-01-16 23:27:09 · 476 阅读 · 0 评论 -
Lua教程-流程控制
流程控制对于程序来说比较重要,可以对特定的流程进行处理,一般情况下需要与判断语句配合使用,Lua语言中提供的控制结构有if、while、repeat、for,并且也提供break关键字,在开始讲解控制语句前先介绍下Lua中的变量。变量在Lua中的变量:全局变量、局部变量。类型说明全局变量默认情况Lua中所有均为全局变量局部变量使用local关键字声名的变量,范围...原创 2019-01-15 23:05:34 · 472 阅读 · 0 评论 -
Lua教程-基本数据类型
配置开发环境可以参考安装配置进行配置。数据类型Lua语音有8种数据类型:nil,boolean,number,string,function,userdata,thread,table数据类型说明nil表示无效值boolean包括两个值true和falsenumber表示双精度浮点数string字符串function函数定义user...原创 2019-01-14 15:35:04 · 738 阅读 · 0 评论 -
Lua教程-开发环境安装配置
最近一直在学习nginx+lua实现对请求的限流以及一些其他信息的记录还有告警等,所以整理下关于Lua语言的使用,也算是一种总结吧,下面说说我使用的开发环境。环境介绍idea、luaforwindows、idea插件EmmyLua。idea 可以去官网下载或者安装破解版。luaforwindows在使用之前需要安装执行环境,可以点击进行下载,本文及之后的教程中均使用最新版本5.1.4-...原创 2019-01-14 14:02:17 · 823 阅读 · 0 评论