当前位置: 首页 > news >正文

网站商城网络整合营销江西宜春市建设局网站

网站商城网络整合营销,江西宜春市建设局网站,咸宁做网站,免费域名申请平台目录 变量篇 算数运算符 条件分支语句与循环语句 函数 表 Table 全局变量与本地变量 协程 元表 面向对象#xff08;封装#xff0c;继承#xff0c;多态#xff09; 常用自带库 垃圾回收 变量篇 print(hello) print(lua) --注释 --[[…目录 变量篇 算数运算符 条件分支语句与循环语句 函数 表 Table 全局变量与本地变量 协程 元表 面向对象封装继承多态 常用自带库 垃圾回收 变量篇 print(hello) print(lua) --注释 --[[多行注释1 ]]--[[多行注释2 ]]----[[多行注释3 --]]--变量 a5 bnil print(a)--多重赋值 aa,bb1,2 aaa,bbb,c1,2 print(aaa,bbb,c)--多变量赋值 a,b,c 1,2 print(c)--不够会自动为空多了会省略 --数值型 q0x11 print(q) print(type(q))--string xajn8uah yjkHJUb90 xxjbs\nhk print(x,y,xx) yyx..y--拼接 print(yy) print(string.format(我今年%d岁,10))print(\n) tonumtonumber(10) tostrtostring(10) print(string.upper(y)) print(string.lower(yy)) print(string.reverse(xx)) print(string.find(yy,HJ)) print(string.sub(yy,5,9)) print(string.rep(y,4)) print(string.gsub(yy,j,xxx))print(\n) sstring.char(0x45) s1string.byte(y,2) print(#x) print(tonum,tostr,s,s1)ss[[w ky duohang shuchu ]] print(ss) 算数运算符 --算数运算符 -- 有-*/% --没有自增自减 -- --没有复合运算符 print (12) a3 b4 print(a*b,a/b) print(154.24) print(25.2*5) print(45%7) print(幂运算..2^5)--条件运算符 -- ~ print(31) print(28) print(2~7) print(77) print(\n)--逻辑运算符,满足短路第一个是假的则就是假 -- || -- and or print(true or false) print(true and false) print(false and print(555)) print(not true) --LUA不支持位运算符不支持三目运算符--and or --逻辑与逻辑或 --不仅可以连接bool类型任何类型都可以连接 --在lua中只有nil与false为假 print(1 and 2) print(false and 2)print(false or 3) print(4 or 77) print(nil or false)x5 y1 local res(xy)and x or y print(res) 条件分支语句与循环语句 --条件分支语句if 110 thenprint(110) elseprint(no) endif 810 thenprint(810) elseif 810 thenprint(810) end--循环语句 --for --11111 for i10,15 doprint(i) end--22222 for i1,10,2 doprint(i) end--while local n10 while n1 donn-1print(n) end--do while num0 repeatprint(num)numnum1 until num5 --结束条件 函数 --functionfunction function_name( ... )-- body endafunction() end--无参数无返回 function F1()print(F1) end F1()F2function ( )-- bodyprint(F2) end F2()--有参数无返回 function F3(a)print(a) end F3(1)--可以穿任意参数 F3(1,8,5)--不会报错自动丢弃--有返回 function F4(a)return a,444,false end tempF4(4587) print(temp) --多返回值时前面申明多个变量来接取 t1,t2,t3F4(9) print(t1,t2,t3)--函数的类型 print(type(F4))--函数的重载 --LUA中不支持函数重载,默认调用最后一个申明的函数--变长参数 function F7( ... )--变长参数使用 用一个表存起来 再用arg{...}for i1,#arg doprint(arg[i])end endF7(1,5,444,8,7,true)--函数的嵌套 function F8( ... )F9function ()print(nyx)endreturn F9 endttF8() F9()--LUA中闭包考点 function FF( x )--改变了传入参数的生命周期return function ( y )return xyend endF10FF(10) print(F10(5))--函数多返回值 function test( )-- bodyreturn 11,34,25,3 enda,b,ctest() print(a) print(b) print(c)表 Table --表table所有复杂类型都是表--数组 a{1,5,222,nujs,true,8787,nil} --索引从1开始 print(a[5]) --#是通用的获取长度的关键字 print(#a) b{45,sjb,nil,4} print(#b) --高版本中不会因为中间存在nil而是表的长度被截断--二维数组 aa{{5,7,55},{5,775,1}} print(aa[1][3])--数组的遍历 --一维 for i1,#a doprint(a[i]) endfor i1,#b doprint(b[i]) end --二维 for i1,#aa dobaa[i]for j1,#b doprint(b[j])end end--自定义索引 bb{[0]n,2,3,[-1]4,5} print(bb[0]) print(#bb)--为2 3 5 print(bb[-1])c{[1]1,[2]2,[6]7,[11]9}--比较特别的注意 print(#c)--字典 --字典的申明 a{[name]nyx,[age]18,[1]5} print(a[name]) print(a[age]) print(a[1]) --可以用类似.成员变量的形式得到值 print(a.name) --但是数字不可以. --print(a.1) --修改 a[name]wwww print(a.name) --新增 a[sex]female print(a.sex) --删除 a[sex]nil print(a.sex) print(遍历)--模拟字典遍历只能用pairs for i,k in pairs(a) doprint(i.._..k) end --类和结构体 --lua中默认没有面向对象需要自己实现 --封装 成员变量成员函数。。。。。。 Student{age11,sextrue,set4,Upfunction (age)--这个age与上面的不是同一个是一个全局变量除非写Student.ageprint(age.age)print(vgjvv)end,Learnfunction ()-- bodyprint(哈哈哈哈)end } --申明表过后在表外去申明表有的变量和方法 Student.nametls Student.Speakfunction ()print(speak) endprint(Student.set) Student.Up(Student) Student.Learn()--lua中.与:的区别 Student.Speak() --:时会默认把第一个参数传入方法中 Student:Up()--函数的第三种声明方式 function Student:Speak2()--lua中 有一个关键字 self 表示默认传入的第一个参数print(self.name..11shuohua) endStudent:Speak2()--表的公共操作 t1{{age1,namennn},{age77,namewww}} t2{namethd,sextrue}--插入 print(#t1) table.insert(t1,t2); print(#t1) print(t1[1]) print(t1[2]) print(t1[3]) print(t1[1].name)--删除 --remove 传表会移除最后一个内容 table.remove(t1) print(#t1) print(t1[1].name) --remove 传两个参数第一个是表第二个是索引 table.remove(t1,2) print(#t1)t2{5,8,nil,22,bbb,4} print(#t2..--t2)--排序 t3{5,8,42,22,1,4} table.sort(t3) for i,v in pairs(t3) doprint(v) end --逆序 table.sort( t3, function(a,b)if ab thenreturn trueend end) for _,v in pairs(t3) doprint(v) end--拼接 tb{155,87,h,888745,5544} strtable.concat(tb,。)--返回的是字符串对表中元素有要求 print(str) --迭代器 --主要是用来遍历表的 a{[0]1,2,[-1]5,nil,444,8}--ipairs,从1开始遍历 for i,k in ipairs(a) doprint(键值对..i.._..k) endprint(\n) --pairs遍历,可以找到所有的键的值 for i,v in pairs(a) doprint(键值对..i.._..v) end 全局变量与本地变量 --全局变量与本地变量 --全局变量 a1 b124--局部变量 for i1,2 dolocal cxx end print(c) --多脚本执行 --关键字 require(脚本名)或者单引号‘’ require(test) print(testa) print(aa)--脚本卸载 require(test)--加载一次后不会再执行 --package.loaded[脚本名],为true说明已经被执行过 print(package.loaded[test]) --卸载已经执行过的脚本 package.loaded[test]nil print(package.loaded[test]) local rarequire(test)--可以接收return出去的本地变量 print(ra)--大G表 --_G(是一个特殊的table,保存所有的全局变量) for k,v in pairs(_G) do--print(k,v) end 协程 -----------------------------协程协同程序--------------------------- ----------------------创建(create创建与function函数创建)-------------------- --coroutine.create() funfunction ( )-- bodyprint(13) end cocoroutine.create(fun) --协程的本质是一个线程对象 print(co) print(type(co))--函数创建返回为函数 co2coroutine.wrap(fun) print(co2) print(type(co2))----------------------------------运行-------------------------- --create创建方式的运行 coroutine.resume(co)--函数创建方式运行 co2()----------------------------------------挂起-------------------------fun2function()local i1while true doprint(i)ii1print(coroutine.status(co3))--协程挂起函数coroutine.yield()--其中可以带返回值coroutine.yield(i)协程的第一个返回值是返回有没有执行成功--coroutine.yield(i)end endco3coroutine.create(fun2) isT,tempicoroutine.resume(co3) print(isT,tempi) coroutine.resume(co3)--在lua中因为程序是从上到下执行一次 所有只有重启一次他才会继续执行 coroutine.resume(co3) coroutine.resume(co3)co4coroutine.wrap(fun2) --此方式的协程调用也可以有返回值但是没用默认的第一个返回值 co4() co4() co4() co4()--与上面相同执行一次-----------------------------------状态------------------------------------------ --coroutine.statusd(协程对象) --dead 结束 --suspended 暂停 --running 进行中 print(coroutine.status(co3)) print(coroutine.status(co)) --得到现在正在运行的协程编号(线程号) print(coroutine.running()) 元表 --------------------元表--------------------- --------------------元表的概念--------------------- --任何表变量都可以作为另一个表变量的元表 --任何变量都可以有自己的元表 --当对有元表的表执行操作时会执行元表中的内容 --------------------设置元表--------------------- t1{} myt{} --设置元表函数 setmetatable(myt,t1)--将第一个参数设置成第二个元表--------------------元表的操作--------------------- -----------------—__tostring t2{__tostringfunction(i)return i.nameend } myt1{namenyx }setmetatable(myt1,t2)--将第一个参数设置成第二个元表 print(myt1)--------------------------__call当第一个参数被当作一个函数来使用时会默认调用__call中的内容 --当希望穿参数时一定要默认第一个参数是调用者自己 t3{__tostringfunction(i)return i.nameend,__callfunction(a,b)print(a)print(b)print(love)end } myt2{namenyx }setmetatable(myt2,t3)--将第一个参数设置成第二个元表 print(myt2) --把子表当作函数使用就会调用元表的__call方法 myt2(5)-------------------------------------运算符重载 meta{--相当于运算符重载当子表使用运算符时会调用方法__addfunction(t1,t2)return tt.agett1.ageend,__subfunction(t1,t2)return tt.age-tt1.ageend,__mulfunction(t1,t2)return tt.age*tt1.ageend,__divfunction(t1,t2)return tt.age/tt1.ageend,__modfunction(t1,t2)return tt.age%tt1.ageend,__powfunction(t1,t2)return tt.age^tt1.ageend,__eqfunction(t1,t2)return tt.agett1.ageend,__ltfunction(t1,t2)return tt.agett1.ageend,__lefunction(t1,t2)return tt.agett1.ageend, --lua中没有不等于与大于大于等于__concatfunction(t1,t2)return t1..t2end} tt{age1} setmetatable(tt,meta) tt1{age2}print(tt..tt1)----------------------__index与__newindex-------------------------mm{age2 } --将__index的赋值写在表外进行初始化 mm.__indexmm ty{} setmetatable(ty,mm)print(getmetatable(ty))--得到元表的方法 --__index当子表中ty找不到某个属性时会到元表中__index指定的表去找索引 print(ty.age)--————index查找可以层层向上 mmFa{sx5 } mmFa.__indexmmFa setmetatable(mm,mmFa) print(mm.sx)--__newIndex 当赋值时如果赋值一个不存在的索引那么会把这个值附到newIndex所指的表中不会修改自己 ma{} ma.__newIndex{} mt{} setmetatable(mt,ma) mt.grade99 print(mt.grade) print(ma.__newIndex.grade) 面向对象封装继承多态 -----------------------------面向对象-------------------------- -----------------------------封装-------------------- --面向对象类其实都是基于table来实现Object{} Object.id1 function Object:Test()print(self.id)end--冒号 会将自动调用这个函数的对象作为第一个参数传入的写法 function Object:new( )-- self代表我们默认传入的第一个参数--对象就是变量返回一个新的变量返回出去的内容本质上就是表对象local obj{}--元表知识__index 当找自己的变量找不到时就会去找元表当中__index指向的内容self.__indexselfsetmetatable(obj,self)return obj end local myObjObject:new() print(myObj) print(myObj.id) myObj:Test() --想当于对空表中申明一个新的属性叫id myObj.id2 print(Object.id) myObj:Test()------------------------------------继承--------------------- --写一个用于继承的方法 function Object:subClass(classname)--_G知识点是总表所有声明的全局变量都以键值对的形式存在其中_G[classname]{}--写相关继承规则local obj_G[classname]self.__indexself--子类 定义一个base属性 base属性代表父类obj.baseselfsetmetatable(obj,self) end print(_G) _G[a]1 print(a)Object:subClass(Person) local p1Person:new()print(p1.id)------------------------------------多态------------------------- print(------------------------------------------) --相同行为不同表现 --相同方法不同执行逻辑就是多态 Object:subClass(GameObject) GameObject.posX0 GameObject.posY0 function GameObject:Move()self.posXself.posX1self.posYself.posY1print(self.posX)print(self.posY) endGameObject:subClass(Player) function Player:Move()-- base.Move构建一个base保留父类的方法--这里的base指的是Gameobject类此方式调用相当于将基类表作为第一个参数传入方法--避免将基类表传入到方法中这样相当于公用一张表的属性--我们如果要执行父类逻辑我们不要直接冒号调用--要通过.调用然后传入第一个参数self.base.Move(self) end local P1Player:new() P1:Move() --目前这种写法不同对象使用的成员变量居然是相同的 local P2Player:new() P2:Move() 常用自带库 -------------------lua的自带库----------------------------------------时间--------------------- --系统时间 print(os.time()) --自己传入参数得到时间 print(os.time({year2024,month12,day29}))--利用os.date(*t) local nowtime os.date(*t) print(nowtime) for i,v in pairs(nowtime) doprint(i,v) end print(nowtime.hour) -------------------数学运算--------------------- --math --绝对值 print(math.abs(-23)) --弧度转角度 print(math.deg(math.pi)) --三角函数,传弧度 print(math.cos(math.pi)) --向下向上取整 print(math.floor(2.6)) print(math.ceil(5.2))--最大值与最小值 print(math.max(1,4)) print(math.min(4,1))--小数分为整数与小数俩部分 print(math.modf(2.4))--幂运算 print(math.pow(2,5))--随机数,先设置随机数种子 math.randomseed(os.time()) print(math.random(100)) print(math.random(100))--开方 print(math.sqrt(9))-------------------路径--------------------- --lua脚本加载路径 print(package.path) 垃圾回收 ------------------------垃圾回收-------------------- --关键字 collectgarbage --获取当前lua占用内存数 K字节用返回值*1024得到具体内存占用字节数 collectgarbage(count)test{id1,name222222} print(collectgarbage(count))--lua中的机制与C#中的机制很类似解除羁绊则变为垃圾 testnil--进行垃圾回收看类似于GC collectgarbage(collect) print(collectgarbage(count)) --lua中其实有自动定时垃圾回收 --但是在Unity热更新开发中尽量不要用自动垃圾回收
文章转载自:
http://www.morning.vibwp.cn.gov.cn.vibwp.cn
http://www.morning.trqhd.cn.gov.cn.trqhd.cn
http://www.morning.vehna.com.gov.cn.vehna.com
http://www.morning.ppbrq.cn.gov.cn.ppbrq.cn
http://www.morning.webife.com.gov.cn.webife.com
http://www.morning.qsmdd.cn.gov.cn.qsmdd.cn
http://www.morning.bcngs.cn.gov.cn.bcngs.cn
http://www.morning.bktly.cn.gov.cn.bktly.cn
http://www.morning.phwmj.cn.gov.cn.phwmj.cn
http://www.morning.jbfzx.cn.gov.cn.jbfzx.cn
http://www.morning.ndpzm.cn.gov.cn.ndpzm.cn
http://www.morning.ltcnd.cn.gov.cn.ltcnd.cn
http://www.morning.gchqy.cn.gov.cn.gchqy.cn
http://www.morning.tkchm.cn.gov.cn.tkchm.cn
http://www.morning.lpcct.cn.gov.cn.lpcct.cn
http://www.morning.srkqs.cn.gov.cn.srkqs.cn
http://www.morning.lkthj.cn.gov.cn.lkthj.cn
http://www.morning.rpstb.cn.gov.cn.rpstb.cn
http://www.morning.ckwxs.cn.gov.cn.ckwxs.cn
http://www.morning.zqcdl.cn.gov.cn.zqcdl.cn
http://www.morning.xbnkm.cn.gov.cn.xbnkm.cn
http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn
http://www.morning.rwqj.cn.gov.cn.rwqj.cn
http://www.morning.dhmll.cn.gov.cn.dhmll.cn
http://www.morning.grtwn.cn.gov.cn.grtwn.cn
http://www.morning.xnpj.cn.gov.cn.xnpj.cn
http://www.morning.rfxyk.cn.gov.cn.rfxyk.cn
http://www.morning.clhyj.cn.gov.cn.clhyj.cn
http://www.morning.llqky.cn.gov.cn.llqky.cn
http://www.morning.bkqw.cn.gov.cn.bkqw.cn
http://www.morning.gl-group.cn.gov.cn.gl-group.cn
http://www.morning.tzjqm.cn.gov.cn.tzjqm.cn
http://www.morning.zxwqt.cn.gov.cn.zxwqt.cn
http://www.morning.xjkr.cn.gov.cn.xjkr.cn
http://www.morning.nftzn.cn.gov.cn.nftzn.cn
http://www.morning.kkjhj.cn.gov.cn.kkjhj.cn
http://www.morning.bkxnp.cn.gov.cn.bkxnp.cn
http://www.morning.hbdqf.cn.gov.cn.hbdqf.cn
http://www.morning.nwpnj.cn.gov.cn.nwpnj.cn
http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn
http://www.morning.xlmgq.cn.gov.cn.xlmgq.cn
http://www.morning.lqjpb.cn.gov.cn.lqjpb.cn
http://www.morning.fgxnb.cn.gov.cn.fgxnb.cn
http://www.morning.qbfs.cn.gov.cn.qbfs.cn
http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn
http://www.morning.kmqms.cn.gov.cn.kmqms.cn
http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn
http://www.morning.yhyqg.cn.gov.cn.yhyqg.cn
http://www.morning.wnwjf.cn.gov.cn.wnwjf.cn
http://www.morning.mzhgf.cn.gov.cn.mzhgf.cn
http://www.morning.zzjpy.cn.gov.cn.zzjpy.cn
http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn
http://www.morning.rwmp.cn.gov.cn.rwmp.cn
http://www.morning.ylljn.cn.gov.cn.ylljn.cn
http://www.morning.gzgwn.cn.gov.cn.gzgwn.cn
http://www.morning.pndhh.cn.gov.cn.pndhh.cn
http://www.morning.itvsee.com.gov.cn.itvsee.com
http://www.morning.wrlxy.cn.gov.cn.wrlxy.cn
http://www.morning.rfbt.cn.gov.cn.rfbt.cn
http://www.morning.pbtrx.cn.gov.cn.pbtrx.cn
http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn
http://www.morning.jbhhj.cn.gov.cn.jbhhj.cn
http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn
http://www.morning.npmcf.cn.gov.cn.npmcf.cn
http://www.morning.dbtdy.cn.gov.cn.dbtdy.cn
http://www.morning.rqkck.cn.gov.cn.rqkck.cn
http://www.morning.sbjbs.cn.gov.cn.sbjbs.cn
http://www.morning.knmby.cn.gov.cn.knmby.cn
http://www.morning.zxqqx.cn.gov.cn.zxqqx.cn
http://www.morning.yjxfj.cn.gov.cn.yjxfj.cn
http://www.morning.kzyr.cn.gov.cn.kzyr.cn
http://www.morning.bnbzd.cn.gov.cn.bnbzd.cn
http://www.morning.ppzgr.cn.gov.cn.ppzgr.cn
http://www.morning.zzfjh.cn.gov.cn.zzfjh.cn
http://www.morning.nhdw.cn.gov.cn.nhdw.cn
http://www.morning.nlhcb.cn.gov.cn.nlhcb.cn
http://www.morning.hkchp.cn.gov.cn.hkchp.cn
http://www.morning.fgxr.cn.gov.cn.fgxr.cn
http://www.morning.nqnqz.cn.gov.cn.nqnqz.cn
http://www.morning.lpgw.cn.gov.cn.lpgw.cn
http://www.tj-hxxt.cn/news/270550.html

相关文章:

  • 高青云速网站建设wordpress字体目录下
  • 网站续费查询做网站需要多少钱平邑
  • 大连企业招聘网站page to wordpress
  • 深圳正规制作网站房产信息网显示已备案
  • 常宁市城乡和住房建设网站seo静态页源码
  • 地域性旅游网站建设系统结构网店图片怎么制作
  • 优秀设计师个人网站青岛关键词快速排名
  • 去年做哪个网站能致富it外包项目
  • 网站建设的基本流程西安官网seo价格
  • 做影视网站推荐哪个服务器wordpress 商品页规格
  • 有哪些网站可以做店面设计休闲农庄网站
  • 谷歌搜索关键字网站个人备案后可以做电影网站吗
  • 建站公司是什么意思旅游网站经营模式
  • 仙桃做网站的公司大足集团网站建设
  • 花都营销网站建设安徽省建设厅网站个人怎么注册
  • 西安装修一平米大概多少钱网站优化软件破解版
  • 惠州网站制作哪里好个人网页生成
  • 监控直播网站开发网站推广策划方案大数据
  • wordpress编码修改怎么优化网站关键字
  • 网站建设与管理赚钱吗徐州方案公示在哪个网站
  • 做购物网站需要多少钱芜湖网站开发
  • 益阳网站制作公司地址ppt做的模板下载网站有哪些内容
  • 大连网站制做公司招标网站哪个比较好
  • 磐安县住和城乡建设局网站女生做新媒体运营是不是很累
  • 国外好的网站空间库尔勒网站建设公司
  • 网站怎么做的支付宝接口怎样做自己介绍网站
  • 网站建设制作文字教程网站报名照片怎么做
  • 淮南网站建设费用做网站图片分辨率多少
  • 二手车网站模版如何再网站上做免费广告
  • 网站域名查询天眼查入口