lua
文章平均质量分 63
lua从入门到精通系列文章
weixin_30852573
这个作者很懒,什么都没留下…
展开
-
零基础学lua第十五天---最后归纳下
一、前言本篇是小编对于学习lua的一个总结,至此我们就告一段落了,下面请看涉及到lua的一些其它内置函数。二、setfenv、getfenv这两个函数的设定主要是为了解决变量命名时的重复冲突所存在的,有了他们,即使变量重复也不会被覆盖;因此,我们需要先设置一个函数的环境,如下:可以看到,我们把函数aa放到了表中,然后就可以通过函数环境来获取到表中的值。相当于aa就是键,而ff就是值,我们可以通过获取函数环境的函数来获取到ff的值。当然setfenv不仅仅可以用函数来作为键,也可以使用数字来作为键,原创 2021-05-24 19:22:06 · 154 阅读 · 0 评论 -
零基础学lua第十四天---最后归纳上
一、前言本篇文章是小编对lua的一个终结篇,lua本身要学的并不是很多,很多都是三方模块,因此这里小编只能和大家最后再补充下lua的一些没讲到的地方。二、垃圾收集器lua提供了垃圾收集的功能,我们可以通过一个方法来实现,他就是collectgarbage,它里面有两个参数,分别为选项和参数,如下:collect 做一次完整的垃圾收集循环stop 停止垃圾回收restart 重新启动垃圾回收count 以K字节数为单位返回Lua程序使用的总内存数step 单步运行垃圾收集器,步长“大小”由 a原创 2021-05-24 19:21:49 · 118 阅读 · 0 评论 -
零基础学lua第十三天---面向对象
零基础学lua第十三天—面向对象一、前言前面和大家讲了这么久的lua,相信大家应该都知道了lua其实就是一个面向过程的语言,因此封装性不是很强,不过这并不影响它也能实现面向对象,只是需要我们去实现而已,下面我们就来一起来使用lua实现一个面向对象的代码语句。二、类我们都知道要想使用面向对象的语法,类是最能体现这一核心理念的产物,那么现在就让我们使用lua来实现一个类吧。如下:我们可以来看看结果如何,如下:可以看到私有方法需要在公有方法中才能够访问。当然,如果你不信邪,小编可以帮你试试,如下:原创 2021-05-24 19:21:30 · 66 阅读 · 0 评论 -
零基础学lua第十二天---协程
零基础学lua第十二天—协程一、前言lua为我们引入了协程,协程相当于一段独立执行的线程,协程需要彼此之间运行,所以同时只能运行一个协程;协程有四种状态:运行、挂起、正常、销毁;下面就让我们先来简单的了解下协程的使用吧。二、协程的创建协程创建有两种方法。1.直接创建这种方式创建好的协程是无法直接运行的,需要我们使用resume来启动,而且我们看到协程创建后返回的是一个线程。2.间接创建这种方法创建的协程相当容易,他会返回一个函数,我们直接调用这个函数即可。而且它的线程信息是隐藏的,不过我原创 2021-05-24 19:21:09 · 132 阅读 · 0 评论 -
零基础学lua第十一天---系统操作
零基础学lua第十一天—系统操作一、前言上篇文章和大家讲到了lua中的文件操作,今天来讲讲关于系统方面的操作,也就是os模块提供给我们的操作,下面一起来看看吧。二、文件操作方面os模块也提供了一些关于文件操作的方法,下面来看看。1.删除文件os.remove('11.txt')不管是否有该文件,删除都不会报错。2.重命名文件os.rename('11.txt','11.dat')同样的,它也是不管是否有该文件,操作都不会报错。3.创建临时文件这个函数和io里面的tmpfile比原创 2021-05-23 19:40:05 · 113 阅读 · 0 评论 -
零基础学lua第十天---文件操作
零基础学lua第十天—文件操作一、前言每个编程语言和都少不了对文件操作,lua中操作文件的方法非常简单,而且文件和输入输出操作都是使用的同一个库,可以说是相当方便了,下面我们来看下吧。二、读取文件lua中打开文件非常方便,每个文件打开的时候都会给它们指定一些模式,如下:模 式描述r以只读方式打开文件,该文件必须存在。w打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。a以附加的方式打开只写文件。若文件不存在,则会建立该文件原创 2021-05-23 19:37:47 · 741 阅读 · 0 评论 -
零基础学lua第九天---错误异常
零基础学lua第九天—错误异常一、前言每个编程语言在编写代码的过程中都会产生一些错误和异常,这个时候我们需要处理,只有这样才会尽可能的避免错误和异常带给我们的损失。二、错误错误在很多时候都是无法避免的,一般我们会将这一系列错误归为语法错误和运行时错误,下面我们一个个来看看,如下:这里就报了一个错误,原因就是我们少了一个do…end语句,下面添加上,如图:这样就可以了;还有一类运行时错误,这类错误不同意检查出来,因为他是发生在运行的时候的错误,如下:此时我们可以看到,虽然没有报错,但是也没原创 2021-05-23 19:12:07 · 151 阅读 · 0 评论 -
零基础学lua第八天---table下
零基础学lua第八天—table下一、前言前面我们讲到了关于lua中的table的一些骚操作,今天我们要讲讲关于table中的魔法方法,也就是元表和元方法,听起来比较神秘,不过学起来一点都不难,至少比大多数人还要笨的小编我是这样想的。二、元表我们都知道,lua中的table是无法两两进行操作的,然而元表的出现使得这一约束被打破,他可以使得两个table中的值相加以及其它的操作。元表中有两个非常重要的函数,如下:setmetatable(table,metatable): 对指定table设置元表(原创 2021-05-23 19:10:29 · 81 阅读 · 0 评论 -
零基础学lua第七天---table中
零基础学lua第七天—table中一、前言前面我们讲过了table最基础的一些数据结构的使用和方法的使用,今天我们来讲讲其它数据结构的实现以及lua中的模块和包的概念。二、集合我们学过Python都知道,集合是可以去除重复数据的,因此首先我们需要数据去重。然后集合是可以进行交并差的运算的,不过这里由于我们还没有学到元表和元方法,因此目前还无法实现给table添加方法并使用,因此这里我们只实现它的数据去重功能,如下:这样就实现了数据去重。三、队列队列好比栈,先来看看进栈的实现方法,如下:我原创 2021-05-23 19:06:11 · 84 阅读 · 0 评论 -
零基础学lua第六天---table上
零基础学lua第六天—table上一、前言前面我们学习了lua中的字符串,今天来学习table,那么什么是table了?在lua中,table是一个相当强大的数据结构,他可以说是其他所有数据结构的基础,通常数组,队列,集合,链表等数据结构都可以使用table来实现,那么下面我们就来好好聊聊这个table吧。二、table的用法table既然可以表示这么多数据结构,那么让我们来看看如何表示的吧。1.数组和JavaScript中的数组颇有几分相似,如下:数组可以动态增长的,如下:我们可以看到原创 2021-05-23 19:00:19 · 94 阅读 · 0 评论 -
零基础学lua第五天---字符串
一、前言不管任何编程语言,都会涉及到对字符串的操作,而且使用范围相当广泛,所以我们今天要来着重讲解下字符串的概念。二、字符串定义lua中表示字符串的方式有四种,如下:以上就是所有表示字符串的方法了。三、字符串的转义很多时候我们在输出的时候,需要用到转义字符,比如换行,空格,如下:转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS) ,将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(LF) ,将当前位置移到下一行原创 2021-05-23 18:52:39 · 176 阅读 · 0 评论 -
零基础学lua第四天---函数
一、前言前面讲过了lua的流程控制,今天继续来讲函数,函数的用途想必不用我说大家应该也都清楚,对于lua这种没有类概念的编程语言来说,函数就成了很不错的简便封装方法,当然每个编程语言都会有函数的概念,这样的目的只是为了解决一些复杂场景的运算以及让程序看起来更加直观易懂,下面我们就来看看lua中的函数的用法吧。二、定义函数我们来看看lua中定义函数的方法,如下:这样就定义了一个函数并且调用了,而且这个函数还是一个无参的函数,下面我们来看看有参函数的使用,如下:三、函数返回值lua和其它编程语言原创 2021-05-23 18:24:28 · 85 阅读 · 0 评论 -
零基础学lua第三天---流程控制
一、前言前面我们讲过了lua的一些基础知识,今天我们来讲讲它的流程控制语句。不过在讲流程控制之前我们先来说说lua中的变量,一起来让我们看看吧。二、变量lua中的变量可以分为全局变量,局部变量,表中的域,目前我们只重点说说全局变量和局部变量。1.全局变量只要是没有带local声明的并且在函数外的变量都为全局变量,如下:2.局部变量函数里面的变量,或者使用local声明的变量,如下:除此之外,变量还可以一次性指定多个,如下:在使用变量时,我们应该避免命名冲突,少用全局变量,因为访问局部原创 2021-05-23 18:20:49 · 84 阅读 · 0 评论 -
零基础学lua第二天---基础语法
一、前言前面我们讲到了lua的安装与IDE运行环境的搭建,下面我们接着来讲讲lua的基础语法知识。二、运行第一个程序我们来看看如何打印一个helloworld,如图:零基础学lua第二天—基础语法我们可以看到,输出helloworld同样很简单,而且后面可以跟分号也可以不跟分号,这都不会影响最后的结果。三、数据类型想要使用一个编程语言,必须了解它有哪些数据类型,lua的数据类型和其它编程语言可不一样,它有一些我们看起来比较蹩脚的数据类型的关键字,不过它可以像Python一样通过type方法来原创 2021-05-23 18:16:01 · 119 阅读 · 0 评论 -
零基础学lua第一天---安装配置lua
一、前言前面我们学过了一些脚本语言,比如Python,但是众所周知的是脚本语言有一个致命的问题,那就是执行率的低下;不过今天我们带来的这款脚本语言,它可不像Python那样效率低下,它在所有的脚本引擎中可以说是效率最高的,正式因为如此,它也被广泛的应用在了嵌入式脚本语言中,那么今天我们要说的主人翁到底是谁了,它就是我们神秘的lua。下面我们来搭建一个lua运行环境并使用它。二、配置lua运行环境这里有两种方法,我们一一说明。1.LuaDist首先打开lua官网,点击图中箭头处位置,如图:然后切原创 2021-05-15 15:59:37 · 239 阅读 · 0 评论