已经拿Lua用了快两年的时间了,但是每次用到字符串的模式匹配的时候就总要去翻看Lua官网的说明,网上也没有一个比较详细的说明,也有好多朋友都向我询问这块的内容,其实这块的难点有三:一个是对Lua的正则表达式不熟悉;另一个是对Lua中string库提供的几个函数的用法不熟悉;还有一点是Lua的string库提出了一个新的概念,叫做捕获,其实也不算什么新概念,只是和函数调用杂糅在一起行为就不好理解罢了
转载
2024-05-27 23:02:28
170阅读
L1[table]01. table表的定义与赋值小知识:声明表的例子 xx={}--创建一个空表xx
--给这表的元素赋值
test="a"
xx[test]="a"
xx.b="b"
xx.c="c"
xx.d="d"
xx["e"]="e"
---输出对应的表元素的值
traceprint(xx[test])
traceprint(xx.e)
--简单遍历整个表
for k,v in
转载
2024-03-28 04:16:00
353阅读
在实际应用场景时,按钮不会按照矩形这么规矩,大多数情况会出现异形按钮和图片的点击及触摸判断,比如建筑,人物等,但是实际上cocos2dx里的是按照宽高的矩形区域判断的所以在这记录下我的解决方案,一开始我想到两个想法,一是根据像素是否为透明像素判断,因为所谓的异形图片其实就是有像素点的区域,没有像素的透明像素就是没意义,可以根据alpha是否为0判断,我也是采取的这种方案,下面提到,第二是我想到之前
转载
2024-07-26 00:27:59
15阅读
一、Lua table(表)特点:table是Lua的一种数据结构,可以用来创建不同的数据类型,如:数组(索引默认从1开始的简单的线性表),字典等。table使用关联型数组,可以使用任何类型的值作为数组的索引,nil除外。大小不固定。table(表)的构造构造器是创建和初始化表的表达式。最简单的构造函数是{},创建一个空表。示例:t1 = {} --创建了一个空表,变量t1指向了这个表。t1[1]
转载
2024-02-22 15:06:41
153阅读
表格是唯一的数据结构中Lua可以帮助我们创造出不同的类型,如数组和字典。 Lua使用关联数组和可不仅数字,但也有不同的零字符串索引。表格都没有固定的大小,并根据需要可以增长。Lua采用的所有陈述,包括包装的代表性表。当我们访问一个方法的字符串。格式,这意味着,我们正在访问的格式化功能的字符串封装。表示和用法 表称为对象和它们既不值,也没有变。 Lua使用构造函数表达式{}创建一个空表。它是要
转载
2024-03-18 21:04:18
122阅读
Lua—元表和元方法 Lua 中的每个值都可以有一个 元表。 这个 元表 就是一个普通的 Lua 表, 它用于定义原始值在特定操作下的行为。 如果你想改变一个值在特定操作下的行为,你可以在它的元表中设置对应域。 元表中的键对应着不同的 event; 键关联的那些值被称为元方法。 在上面那个例子中引用的事件为 “add” , 完成加操作的那个函数就是元方法。 可以用 getmetatabl
转载
2024-04-01 14:39:10
45阅读
游戏脚本之王 -- Lua学习Lua的数据类型8种数据类型nil ---- 空,表示一个无效的值boolean ---- 布尔值,true:真, false: 假number ---- 表示双精度类型的实浮点数string ---- 字符串function ---- 函数userdata ---- 用户自定义类型, 表示任意存储在变量中的C数据结构thread ---- 表示执行的独立线程,用于执
转载
2024-03-28 08:40:43
151阅读
8个类型: nil,string,number,function,thread,table,boolean,userdatapairs和ipairs的区别:(建议使用pairs) pairs可以返回nil,可以遍历表中所有的键 ipairs遇到nil则退出,只能返回数字0,只能遍历到表中第一个出现的不是整数的键命名规则: 首字母必须是下划线或者字母,名称由下划线,字母,数字组成; 区分大
尽管 Lua 的关键词的设计,运行符的设计,语法的设计等方面与 C 很相似,但我们还要注意其明显不同的地方。 条件判断时的真假条件 Lua 中所有的值都可以作为条件。在控制结构的条件中除了 false 和 nil 为假,其他值都为真。所以 Lua 认为 0 和 空串 都是真。而 C 中,认为只要是在内存中表现为 0 值的符号都为假。  
转载
2024-03-11 09:30:29
53阅读
整理Lua中忽略的问题1.元表metatable和元方法1.1元方法_index可以设置为table1.2.元方法_index可以设置为函数1.3.元方法_index和_newindex实现只读table1.4.忽略元方法提取值 rawget和rawset2.Lua强制GC方法2.1 collectgarbage()3.协程和线程的区别3.1协程coroutine.create()是同步执行,不
转载
2024-03-22 18:06:27
89阅读
游戏脚本之王 -- Lua学习Lua的数据类型8种数据类型nil ---- 空,表示一个无效的值boolean ---- 布尔值,true:真, false: 假number ---- 表示双精度类型的实浮点数string ---- 字符串function ---- 函数userdata ---- 用户自定义类型, 表示任意存储在变量中的C数据结构thread ---- 表示执行的独立线程,用于执
转载
2024-04-30 21:00:59
49阅读
概要:1.table特性;2.table的构造;3.table常用函数;4.table遍历;5.table面向对象1.table特性table是一个“关联数组”,数组的索引可以是数字或者是字符串,所有索引值都需要用 "["和"]" 括起来;如果是字符串,还可以去掉引号和中括号; 即如果没有[]括起,则认为是字符串索引table 的默认初始索引一般以 1 开始,如果不写
转载
2024-05-04 14:05:40
56阅读
在Javascript中,有一种使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式,叫做正则表达式。 正则表达式是由一个字符序列形成的搜索模式。 正则表达式可以是一个简单的字符,或一个更复杂的模式。也可以用于所有文本搜索和文本替换的操作。正则表达式语法:/正则表达式/修饰符(可填可不填)。1:正则表达式修饰符&n
转载
2024-07-09 15:23:50
18阅读
写在最前面,为什么要了解LUA语言?因为WOW的宏甚至插件的编写都离不开LUA!功欲擅其事,必先利其器,如果想玩转魔兽世界,而不是被魔兽世界玩的话,先来学习一下LUA语言吧! 在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。 Lua 的语法比较简单
L1[table]01. table表的定义与赋值小知识:声明表的例子xx={}--创建一个空表xx
--给这表的元素赋值
test="a"
xx[test]="a"
xx.b="b"
xx.c="c"
xx.d="d"
xx["e"]="e"
---输出对应的表元素的值
traceprint(xx[test])
traceprint(xx.e)
--简单遍历整个表
for k,v in p
转载
2024-04-29 21:24:30
46阅读
其实从C层的代码看,skynet没有太出彩的地方(也仍然很优秀),有些人草草瞄了几眼C层的代码,就断定skynet很一般:凡是有经验的服务器程序,用个什么东西分分钟就搭出一个skynet之类的话。其实他们不知道,skynet对Lua的封装才是最好的部分,云风前辈对Lua的理解当属国内最顶尖的那几个。这一部分非常细节,也非常难懂,不想了解的人估计不会看,了解了的人大概也已经了解,所以就当是自己的备忘
转载
2024-06-23 22:38:21
77阅读
数据类型Lua的基本数据类型主要有:nil、boolean、Number、String、function、userdata、threadsNil:空,变量没有赋值,默认值是nilBoolean:Lua中false和nil都看作假的,其它都是真Number:Lua只有一种Number类型-double(双精度类型)String:双引号或单引号,也可以使用[[]]表示一个字符块,例如:html = [
转载
2024-05-22 11:44:32
102阅读
Lua表达式 一、Lua表达式可以包含常量、字符串、自变量、一元操作符、函数调用、函数定义和table构造式 二、Lua支持的算术操作符:+加、-减、*乘、/除、^求幂(求开根号后的结果)、%取模(该取模运算符可以用于小数;例3.5%1=0.5;想取小数点后几位的数就用原数减去原数取小数点后几位的摸即可,例:a=5.382,5.38=a-a%0.01)、-负号 三、Lua支持的关系操作符:<
转载
2024-03-17 08:29:24
44阅读
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。返回值描述如果当前字符流没有存在出现一次的字符,返回#字符。解题思路及代码我们使用哈希+队列的方法来解决这个问题。为什么使用队列呢?因为像这种“第一次出现”的问题可以用
转载
2024-08-06 19:19:15
26阅读
项目组中使用的cocos2dx-lua 框架,经常看到的类也是由cocos2dx-lua 的 function class(classname, …) 实现的,依据这个去看了Lua元表和元方法,但是看的是云里雾里,现在记录下来,以后有深入学习时再回过头来看看一、元表(metatable)理解现在我们访问一个表,但是我们不小心访问到了空值,那么就会返回一个nil,当我们访问表中的空值的时候,不想接收
转载
2024-03-20 17:11:52
112阅读