![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
帅_shuai_
用自己的努力去收获自己的未来
展开
-
Lua 垃圾回收
Lua 垃圾回收Lua中垃圾回收和C#中类似,也可以让Lua自动垃圾回收(但是一般还是手动管理)test = {id = 1,name = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"}print(collectgarbage("count"))test = nilcollectgarbage("collect")print(collectgarbage("count"))...原创 2022-03-02 08:43:31 · 366 阅读 · 0 评论 -
Lua 面向对象(多态)
Lua 面向对象(多态)Object = {}function Object:new() local obj = {} setmetatable(obj,self) self.__index = self return objendfunction Object:subClass(className) _G[className] = {} local class = _G[className] setmetatable(class,self)原创 2022-03-02 08:19:49 · 218 阅读 · 0 评论 -
Lua 面向对象(继承)
Lua 面向对象(多态)function Object:subClass(className) _G[className] = {} local g = _G[className] self.__index = self setmetatable(g,self)endObject:subClass("Person")local p = Person:new()print(p.id,p.name)p.id = 999p.name = "kkk"print(p.i原创 2022-03-01 20:49:09 · 139 阅读 · 0 评论 -
Lua 面向对象(封装)
Lua 面向对象(封装)Object = { id = 1, name = "zzs"}function Object:new() local obj = {} setmetatable(obj,self) self.__index = self return objendlocal myObj = Object:new()print(myObj.id)print(myObj.name)myObj.id = 999myObj.name =原创 2022-03-01 20:48:10 · 130 阅读 · 0 评论 -
Lua 元表
Lua 元表print("========设置元表=======")meta = {}myTable = {}setmetatable(myTable,meta)print("========特定操作-__tostring=======")meta2 = { __tostring = function(t) return t.name end}myTable2 = { name = "2222"}setmetatable(myTable2,meta原创 2022-02-28 22:21:02 · 160 阅读 · 0 评论 -
Lua 协程
Lua 协程print("============协程的创建===========")function F1() print("F1")end--第一种方式创建co1 = coroutine.create(F1)print(co1)--第二种方式创建co2 = coroutine.wrap(F1)print(co2)print("============协程的运行===========")--第一种方式coroutine.resume(co1)--第二种方式co2()p原创 2022-02-27 15:18:36 · 230 阅读 · 0 评论 -
Lua 多变量赋值,三目运算符
Lua 多变量赋值,三目运算符print("=============多变量赋值============")a,b,c = 1,2,"123"print(a)print(b)print(c)a,b,c = 1,2print(a)print(b)print(c)print("=============多返回值============")function test() return 10,20,30,40enda,b,c,d,e = test()print(a)print(原创 2022-02-27 15:17:59 · 194 阅读 · 0 评论 -
Lua 多脚本执行,全局变量和局部变量
Lua 多脚本执行,全局变量和局部变量print("============全局变量和本地变量==========")function Test01() local a = 10 print(a)endTest01()print(a)print("============多脚本执行==========")require("Test")--当加载过一次后再次加载不会执行--require("Test")print(y)print(x)print("===========原创 2022-02-27 15:17:07 · 476 阅读 · 0 评论 -
Lua 类和结构体
Lua 类和结构体Student = { --变量内部定义 age = 1, sex = true, --函数内部定义 Up = function() print("我成长了") end, Learn = function() print("我学习了") end}--变量外部定义Student.name = "zzs"print(Student.name)print(Student.age)pri原创 2022-02-27 10:51:45 · 579 阅读 · 0 评论 -
Lua 字典
Lua 字典dir = {["zzs"] = 18,["wy"] = 15,["lzq"] = 12}print(dir["zzs"])print(dir.wy)print(dir.lzq)print("----------")--添加新元素dir["sex"] = 12dir.pnb = 16--删除旧元素dir.sex = nildir["pnb"] = nil--遍历方式for i, v in pairs(dir) do print(i,v)endprint("-原创 2022-02-27 10:50:57 · 1580 阅读 · 0 评论 -
Lua iPairs和Pairs区别
Lua iPairs和Pairs区别arr = {[0] = 0,[1] = 1,[2] = 2,[4] = 4}--可以遍历相差一个连续的,索引为负数的不行for i = 1, #arr do print(arr[i])endprint("----------")--只可以遍历连续的,索引为负数的不行for i, v in ipairs(arr) do print(v)endprint("----------")--都可以遍历for i, v in pairs(arr原创 2022-02-27 10:50:24 · 79 阅读 · 0 评论 -
Lua 数组
Lua 数组print("===============数组===============")--lua5.1和5.2中要是遇到nil会断掉,5.3不会arr = {1,2,nil,3,"123",true,nil,4}print("===============数组的遍历===============")for i = 1, #arr do print(arr[i])endprint("===============二维数组===============")arrDouble =原创 2022-02-27 10:49:13 · 234 阅读 · 0 评论 -
Lua 函数相关(二)
Lua 函数相关(二)print("==========函数==========")function F1() print("F1")endF2 = function() print("F2")endF3 = function(str) print(str)endF1()F2()F3("F3")print("==========无参无返回值==========")function F4() print("F4")endF4()print("===原创 2022-02-27 10:48:23 · 277 阅读 · 0 评论 -
Lua 表的其它操作
Lua 表的其它操作---压包,解包arr = {"hello","123","zzs","666"}print(unpack(arr))print(table.concat(arr))---数组的索引可以是负数print("=======================================")arr = {}for i = -2, 2 do arr[i] = iendfor i = -2, 2 do print(arr[i])end---二维数组arr原创 2022-02-26 20:56:58 · 206 阅读 · 0 评论 -
Lua 迭代器,文件互相调用
Lua 迭代器,文件互相调用迭代器---迭代器(基于闭包函数)function Iterator(tabArr) local i = 0 return function() i=i+1 return tabArr[i] endendarr = {88,77,66,44}for v in Iterator(arr) do print(v)end文件相互调用local _M={}function _M.test01()原创 2022-02-26 17:45:04 · 219 阅读 · 0 评论 -
Lua 函数相关(一)
Lua 函数相关---函数多个返回值function test01(arr) local maxIndex = 1 local maxNum = arr[maxIndex] for i, v in pairs(arr) do if maxNum<v then maxIndex = i maxNum = v end end return maxIndex,maxNumendar原创 2022-02-26 15:22:07 · 137 阅读 · 0 评论 -
Lua 循环
Lua 循环i = 1while i<10 do print(i) i=i+1endj = 1repeat print(j) j = j+1until j>10for k = 1, 10,2 do print(k)end原创 2022-02-26 13:53:37 · 230 阅读 · 0 评论 -
Lua 字符串操作(三)
Lua 字符串操作(三) ---字符串的拼接 print("baidu".."com"); ---字符串长度 local lenStr = "baidu.com" print(string.len(lenStr)) print(#lenStr) ---字符串替换 gsubStr = "i am a am zzs" gsubStr,num = string.gsub(gsubStr,"am","wy",3); print(gsubStr) print(num) ---字符串插入fun原创 2022-02-25 20:57:13 · 628 阅读 · 0 评论 -
Lua 字符串操作(二)
Lua 字符串操作(二)1.使用For循环分割字符串 function string.forSplit(input,delimiter) input = tostring(input) delimiter = tostring(delimiter) if(delimiter=='') then return false end local pos,arr = 0,{} for st,sp in function() return string.find(原创 2022-02-25 14:34:15 · 394 阅读 · 0 评论 -
Lua 字符串操作(一)
Lua 字符串操作(一) ---字符串复制 print(string.rep("zzs !",3)) ---字符串是否包含子字符串 print(string.match("zzszz","zzs")) ---字符串比较 print("zzszz"=="zzszz") ---字符串查找 startStr,endStr = string.find("zzs is zzs","is") print(startStr) print(endStr) ---字符串截取 subStr = "abc原创 2022-02-25 11:05:46 · 2227 阅读 · 0 评论 -
Lua 表
Lua 表原创 2022-02-25 10:19:01 · 261 阅读 · 0 评论 -
Lua枚举定义
Lua枚举定义---创建枚举 function CreateEnum(tal,index) local eTable = {}; local enumIndex = index or 0; for i, v in ipairs(tal) do eTable[v] = enumIndex + i; end return eTable; end myEnum = { "Red", "Green", "B原创 2022-02-25 09:24:56 · 1785 阅读 · 0 评论