
Lua
文章平均质量分 79
Gary的面包屑小道
这个作者很懒,什么都没留下…
展开
-
Lua-协同程序
关于Lua中的协程其实,自己在实际的开发中用的不多,主要是因为Lua作为脚本,其实使用的目的还是为了能够处理一些简单的逻辑,而去给宿主语言一个结果。但是Lua中的协程还是有需要了解一下的。协程其实是在很多的语言中都存在的一个概念,而且很多文章开头都是先摆概念:协程拥有独立的栈,能够和其他的协程共享全局变量,而且开销也很小。开销很小的原因主要还是因为协程有自己的上下文,然后切换协程的时候,只需要将上下文切换就可以了,不需要再去开辟其他的资源,就会很快。然后主要还是协程的使用方法。协同程序的原创 2020-07-22 21:35:58 · 271 阅读 · 0 评论 -
Lua-元表
Lua里面有一个就目前来说,暂时没用过,但是觉得很有用,可能将来需要用到的东西:元表。什么是元表,以及元表是做什么的?就我理解,元表是一种附加属性,是需要依附在一个正儿八经表的上面的,这个表里面可以存放我们需要重定义的一些对表的操作。比如:在C++或者Java中经常需要将一个坐标封装成一个二维向量的结构体,然后在里面重载一些加减的操作, 因为普通的加减是对于两个数字的,但是当你想让两个二维向量相加的时候,需要将X相加,然后Y相加,然后返回一个二维向量,此时普通的加号就没有办法完成我们的操作了、这原创 2020-06-30 22:36:40 · 586 阅读 · 0 评论 -
Lua的字符串
Lua里面的字符串是由:字母、数字、下划线组成的一串字符,有下面三种组成方式:由单引号括起来:' this is a string'由双引号括起来: " this is a string"如果字符串太长的话,可以由两个中括号括起来:[[ Hello,Welcome to Lua study],this is a string]当我们将这三个字符串都输出的时候:string1 ...原创 2018-07-28 15:24:01 · 425 阅读 · 0 评论 -
Lua文件的I/O
在Lua里面,读取文件分两个模式:简单模式 和 完全模式。简单模式:拥有当前一个读入文件和读出文件,在Lua I/O库里面提供相关的一些简单的操作。完全模式:使用文件的句柄对文件进行操作。区别在于:简单模式中对文件的操作比较少,适合对单一的文件做处理。如果我们同时对多个文件进行处理的,就需要使用我们的完全模式。打开文件的模式(mode)有很多种:r 以只读方式打开文件,该...原创 2018-07-29 21:20:17 · 466 阅读 · 0 评论 -
使用VS2012配置Lua的编译环境
之前在我的博客里面有写过使用Notepad++搭建Lua的开发环境,因为最近在开始爬C++和Lua交互通信的坑,所以避免不了在C++的环境里面使用到Lua API,因为我的C++时使用的VS2012集成编译环境,所以就在VS2012里面搞了一把Lua的环境,现在分享给大家,避免大家像我一样走不少弯路。一、官网下载Lua源码:点击进入Lua官网源码下载界面下载好之后,就是下面的:...原创 2018-07-25 16:29:01 · 439 阅读 · 0 评论 -
Lua的数据类型
Lua的是动态类型语言,使用时不需要被定义类型,可以直接给变量赋值,在我的理解就是,你给变量赋的值的类型就是该变量的类型。以下是Lua中得变量类型:变量类型描述nil表示一个无效值,在逻辑判断语句中表示:false,当一个变量没有被赋值的时候他的值就是nilboolean 包含两个值:false和true,类似于C++中的布尔变量 number表示双精度类型的浮点数string表示字符串,...原创 2018-07-07 16:42:20 · 420 阅读 · 0 评论 -
Lua中的模块
模块类似于一个封装好的库,Lua的模块就是由变量、函数等组成的一个table,把需要用的函数,变量放在里面,在最后将table返回既可,这样就可以降低代码的重复率。在别的Lua文件中就可以调用定义模块里面的东西格式如下:--创建的文件名:module.lua--创建一个表:module = { State = ONE, State = TWO}--定义一个全局变量mo...原创 2018-07-24 20:03:43 · 385 阅读 · 0 评论 -
初识Lua以及搭建Lua开发环境
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定...原创 2018-07-06 20:31:04 · 2763 阅读 · 0 评论 -
Lua的迭代器
迭代器(iterator)是一个对象,能够遍历标准容器格式里面的数据,在Lua中迭代器是一种支持指针类型的结构,他可以遍历集合里面的元素。泛型for迭代器 泛型for迭代器在自己的内部保留有迭代函数,泛型for迭代器也提供了键值对,具体格式如下:for k,v pairs(table) do print("this iterator")end其中k,v是变量列表,pairs是迭代...原创 2018-07-11 21:24:13 · 368 阅读 · 0 评论 -
尝试着开发一个显示物理内存占用比的柱状图———自用
功能要求:显示当前游戏所占的物理内存UI编辑器中添加PhyRam按钮,并添加容器组件:Handle_,然后在容器里面添加文字组件:Text_PhyRam,Text_PhyRam里面的文本属性可以设置按钮上的文字,将文本属性的文字内容设置成:PhyRam,显示如图:整体的窗口按钮界面如图:对应的UI编辑器里面的控件类型是:功能具体的实现就是:当你点击FPS的时候,柱状...原创 2018-07-17 11:51:10 · 358 阅读 · 0 评论 -
Lua中pairs和ipairs的区别
在Lua中有提供默认的迭代函数:pairs 和 ipairs,我们通常使用这两个迭代函数来进行table的遍历,那么这两个迭代函数的区别是什么?首先,table储存的值是连续的时候,两个是没有什么区别的,如下:tab1 = {"one","two","three"}for k,v in ipairs(tab1) do --使用ipairs进行遍历 print(v)endfor k,v in...原创 2018-07-10 11:52:46 · 493 阅读 · 0 评论 -
Lua的函数
在我看来函数就是一个很小的封装,使用者只需得到函数的结果,无需关心函数内部的结构以及执行逻辑。函数的任务:①计算和处理数据 ②返回数据Lua函数的结构:optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return...原创 2018-07-09 21:43:07 · 423 阅读 · 0 评论 -
Lua的循环
在编程逻辑中有很多相同的操作需要被不断的连续的执行,我们可以把这种执行叫做:循环。一直做的动作叫做:循环体结束的判断条件我们叫做:循环条件、Lua中有以下几种循环的方式:循环种类 描述while循环直到条件为假的时候跳出循环for循环指定循环范围,在指定的范围内循环repeat...until重复循环,直到条件为真的时候跳出循环嵌套循环循环体是另一层循环循环控制语句break:当我们需要在循环...原创 2018-07-09 20:32:32 · 1318 阅读 · 0 评论