lua
文章平均质量分 63
星际行走
这个作者很懒,什么都没留下…
展开
-
lua的字符串匹配,正则表达式
Lua 中的匹配模式直接用常规的字符串来描述。它用于模式匹配函数。你还可以在模式串中使用字符类。字符类指可以匹配一个特定字符集合内任何字符的模式项。比如,字符类匹配任意数字。所以你可以使用模式串 %d%d/%d%d/%d%d%d%d 搜索。转载 2023-11-21 17:06:44 · 496 阅读 · 0 评论 -
lua字符串相关方法,如截取中文字符串
string.sub截取字符串,是按来截取的。截取英文没问题,有中文就会出错,因为一个中文可能是2到5个字节。原创 2022-09-20 21:27:13 · 7450 阅读 · 0 评论 -
Lua中and和or的用法和记忆方法
一.and 和 or的语法特性Lua中and 和 or是逻辑运算符,对他们的操作数而言false和nil为false,其他均为trueLua官方手册中and 和 or的解释:The conjunction operator and returns its first argument if this value is false or nil; otherwise, and returns its second argument.如果第一个参数为false的话,and返回第一个参数,否则返回.转载 2022-05-17 16:33:36 · 7780 阅读 · 0 评论 -
Lua loadstring 执行字符串中的代码
loadstring最典型的用处是去执行外部代码。也就是位于程序之外的代码。loadstring的用法:将传入的代码块编译好之后以函数的形式返回!所以loadstring的返回值是一个function,如果传入的代码块有语法错误则返回nil!一、执行配置表中的代码。1、在配置表中的clickFunc字段填入下面的字符串,也就是一行代码:ModelMgr.instance("ShopModel"):OpenShopUI(1, 3)2、在实际的代码,用下面的方式将字符串转换为函数。即可进行调用,原创 2022-05-13 16:36:51 · 1114 阅读 · 0 评论 -
Lua 协同程序(coroutine)
转载自:Lua 协同程序(coroutine) | 菜鸟教程Lua 协同程序(coroutine) 什么是协同(coroutine)? Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。 协同是非常强大的功能,但是用起来也很复杂。 线程和协同程序区别 线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。 在任一指定时刻只有一个协同程序在运..https:转载 2022-03-02 17:16:09 · 193 阅读 · 0 评论 -
Lua 元表(Metatable)
转载自:Lua 元表(Metatable) | 菜鸟教程Lua 元表(Metatable) 在 Lua table 中我们可以访问对应的 key 来得到 value 值,但是却无法对两个 table 进行操作(比如相加)。 因此 Lua 提供了元表(Metatable),允许我们改变 table 的行为,每个行为关联了对应的元方法。 例如,使用元表我们可以定义 Lua 如何计算两个 table 的相加操作 a+b。 当 Lua 试图对两个表进行相加时,先检查两者之一是否有元表,之后检查是否..https:/转载 2022-03-02 17:55:35 · 440 阅读 · 0 评论 -
Lua 字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。Lua 语言中字符串可以使用以下三种方式来表示:单引号间的一串字符。 双引号间的一串字符。 [[与]]间的一串字符。以上三种方式的字符串实例如下:string1 = "Lua"print("\"字符串 1 是\"",string1)string2 = 'runoob.com'print("字符串 2 是",string2)string3 = [["Lua 教程"]]print("字符串 3 是",strin...转载 2022-03-02 17:01:35 · 4924 阅读 · 0 评论 -
lua-复制一份table,修改新的table,不改变原来的table
local table1 = {{1,2,3}, {4,5,6}} local table2 = {} for key, value in pairs(table1) do table2[key] = value end table2[1] = 2 print("table1 =", PrintTable(table1)) print("table2 =", PrintTable(table2))原创 2022-02-13 20:38:05 · 1604 阅读 · 0 评论 -
lua-table引用传递和值传递
function test1(tt) tt = {1, 3, 5}endfunction test2(tt) tt[1] = 2 tt["a"] = "hello"endt = {4, 5, 6}test1(t)for k,v in pairs(t) do print(v)endprint("------")t = {4, 5, 6}test2(t)for k,v in pairs(t) do pri...转载 2022-01-27 12:06:41 · 894 阅读 · 0 评论 -
lua杂记
用传入索引拼接的key值,从table中获取对应的valuereturn self.cardBaseCfg["attr"..index]传入的index不同,可以获取不同的配置表属性。原创 2022-01-13 11:29:15 · 130 阅读 · 0 评论 -
pairs和ipairs的区别
(i即整数)pairs会遍历所有keyipairs只会从1开始,步进1, 中间不是数字的key忽略, 到第一个不连续的数字为止(不含)。如果key里没有1, 那就不会有任何输出https://blog.csdn.net/butterfly5211314/article/details/81151453?utm_source=blogxgwz5pairs可以遍历到表中所有的key,对于key的类型没有要求,遇到nil时可以跳过,不会影响后面的遍历ipairs遍历时只能取key为整数转载 2021-08-22 21:25:02 · 606 阅读 · 0 评论 -
cocos2dx - lua 中实现遮罩层和屏蔽层
self.imgFJ = cc.Sprite:create("#fj.png") self.imgFJ:setAnchorPoint(0,1) self.imgFJ:setPosition(self.winSize.width*0.71, self.winSize.height*0.95) local imgX = self.imgFJ:getPositio...转载 2018-01-25 14:22:01 · 2058 阅读 · 0 评论 -
Lua中变相实现continue跳出循环
Lua 里没有 continue 这个关键词,有时候挺不方便,可能导致循环里的 if-then 嵌套比较深。但我们可以用一个小技巧来实现同等功能:for i = 1, 100 do while true do if i % 2 == 1 then break end -- 这里有一大堆代码 -- -- brea转载 2016-08-26 11:21:45 · 12990 阅读 · 0 评论 -
HelloLua与HelloCpp的区别
bool AppDelegate::applicationDidFinishLaunching() { // create a scene. it's an autorelease object CCScene *pScene = HelloWorld::scene(); // run pDirector->runWithScene(pScene); return true;}原创 2014-10-29 21:18:28 · 825 阅读 · 0 评论