悉野小楼

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

随笔分类 -  Lua

Lua
lua打印调用的函数文件及行数
摘要:lua根据调用堆栈可以打印调谁调用了我 string.split = function(s, delim) local split = {} local pattern = "[^" .. delim .. "]+" string.gsub(s, pattern, function(v) table 阅读全文

posted @ 2024-05-24 15:10 悉野 阅读(19) 评论(0) 推荐(0) 编辑

lua string扩展
摘要:lua string常用附加函数 string.split = function(s, delim) local split = {} local pattern = "[^" .. delim .. "]+" string.gsub(s, pattern, function(v) table.in 阅读全文

posted @ 2024-05-24 14:13 悉野 阅读(8) 评论(0) 推荐(0) 编辑

lua table函数补充 lua table的扩展
摘要:lua table函数补充 -- lua table扩展 -- 返回table大小 table.size = function(t) local count = 0 for _ in pairs(t) do count = count + 1 end return count end --返回tab 阅读全文

posted @ 2024-05-23 17:27 悉野 阅读(19) 评论(0) 推荐(0) 编辑

lua模块化编程
摘要:moduleA.lua -- moduleA.lua local moduleA = {} function moduleA.hello() print("Hello from moduleA") --与调用者同一个环境, 可以调用到原环境中的sayHi函数 sayHi() end return m 阅读全文

posted @ 2024-03-05 14:31 悉野 阅读(39) 评论(0) 推荐(0) 编辑

使用setmetatable和__call元方法来实现根据字符串名字调用对应的函数
摘要:cc.lua local CMD = {} -- 定义两个函数 function CMD.func1() print("Function 1 called") end function CMD.func2() print("Function 2 called") end return CMD tes 阅读全文

posted @ 2024-03-04 14:10 悉野 阅读(20) 评论(0) 推荐(0) 编辑

lua三个点
摘要:lua三个点表示可变参数 function test(...) -- 三个点为可变参数, ...其实是个可变参数表名 -- arg表 可变参数的表名, print(...) -- 输出a 3 55 -- 遍历输出 local tmp = {...} for i,v in ipairs(tmp) do 阅读全文

posted @ 2024-03-01 18:27 悉野 阅读(52) 评论(0) 推荐(0) 编辑

lua协程例子
摘要:-- 创建一个协程 co = coroutine.create(function() print("协程开始") for 1, 10 do print("sub" .. tostring(i)) end -- 挂起协程,等待外部恢复 local result = coroutine.yield("协 阅读全文

posted @ 2023-12-20 19:12 悉野 阅读(36) 评论(0) 推荐(0) 编辑

lua以16进制打印二进制字符串
摘要:local function getHexString(bytes_str) if bytes_str == nil then return "" end local ret = "" for index = 1, #bytes_str do -- 这儿用这么多临时变量, 是为了方便注释 -- 返回 阅读全文

posted @ 2023-11-30 10:09 悉野 阅读(227) 评论(0) 推荐(0) 编辑

lua self使用例子
摘要:local funcs = {} function funcs:callMe() local tt = self.name --值为hello print(tt) end f = funcs["callMe"] -- 调用方法1: f({name = “hello"}) -- 调用方法2: loca 阅读全文

posted @ 2023-11-28 15:51 悉野 阅读(66) 评论(0) 推荐(0) 编辑

vscode中lua调试
摘要:1.安装Lua(作者:tencent), 也可以安装插件EmmyLua, lua语法检测提示用. 2.安装Lua Debug(调试lua用) 安装好后, 代码窗口右上角有个箭头按钮, 点击开始调试lua, 如果安装其它插件比如codeRunner, 可能不显示这个调试虫子的按钮, 只有虫子右边下向的 阅读全文

posted @ 2023-11-22 11:57 悉野 阅读(1457) 评论(0) 推荐(0) 编辑

Lua 中pairs 与 ipairs 的区别
摘要:在 Lua 中,pairs 和 ipairs 是用于遍历集合(如数组或表)的两种不同的迭代器函数。 pairs 函数用于遍历表(table)的所有键值对。它返回一个迭代器对象,该对象可以用于依次获取表的每个键值对。可以使用 next 方法来获取下一个键值对。示例如下: luat = { "a", " 阅读全文

posted @ 2023-11-22 10:25 悉野 阅读(2090) 评论(0) 推荐(0) 编辑

lua打印堆栈
摘要:print(debug.traceback("Stack trace:")) function func1() func2() end function func2() print(debug.traceback("Stack trace:")) end func1() Stack trace: [ 阅读全文

posted @ 2023-11-21 19:21 悉野 阅读(211) 评论(0) 推荐(0) 编辑

游戏竞技对抗赛排队分组问题
摘要:游戏中要排一个对抗赛, 可以是nVSn, 如3v3, 5v5, 20v20, 玩家可以以小队形式参加排队, 也可以个人参加排队.用一个数据记录每种队的的个数, 没有这种类型的队, 用0表示, 下面是一个11v11的组合. 如下local strData = "5,8,7,3,1,0,0,1,0,1,0";表示1个人的队伍为5个, 2人的队伍为8个, ...11人的队伍为0个. ============================functionSplit(szFullString,szSeparator)localnFindStartIndex=1localnSplit 阅读全文

posted @ 2012-09-11 17:29 悉野 阅读(611) 评论(0) 推荐(0) 编辑

lua中string split函数
摘要:function Split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = 阅读全文

posted @ 2012-08-08 12:00 悉野 阅读(26044) 评论(0) 推荐(0) 编辑

lua中的table
摘要:Lua表格就是键值对, 可以嵌套 Luau类似json, json字符串的key要加引号, lua不能加, json数字key可以直接写, lua要加在数字外面加[], lua的key与值都可以是数字, 字符, 协程, 函数. Lua表格赋值给另一个表格时, 其实是引用, 没有值复制 -- 创建一个 阅读全文

posted @ 2012-02-10 11:10 悉野 阅读(1096) 评论(0) 推荐(0) 编辑

lua学习测试脚本
摘要:function msg(...) -- 可变参数转表方法1 local arg = table.pack(...) print(arg[1], arg[10]) -- 可变参数转表方法2 local tab = {...} print(tab[2]) -- 可变参数数量 local n = sel 阅读全文

posted @ 2012-02-09 17:43 悉野 阅读(718) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示