加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua基础

发布时间:2020-12-14 22:07:27 所属栏目:大数据 来源:网络整理
导读:lua? lua中的8中基本类型 : nil (空类型) ? boolean (布尔类型) ? ?number(数字类型) string(字符串类型) table(表类型) ?function(函数类型) ? ?thread(线程类型) userdata(自定义类型) 使用type函数判断一个值的类型,type函数返回一个对
lua? lua中的8中基本类型 : nil (空类型) ? boolean (布尔类型) ? ?number(数字类型) string(字符串类型) table(表类型) ?function(函数类型) ? ?thread(线程类型) userdata(自定义类型) 使用type函数判断一个值的类型,type函数返回一个对应类型的字符串描述 例如 : local iValue = 10 if type(iValue) == "number" then print( "iValue is a ?number") end nil一个全局变量在第一次赋值前的默认值是nil,将nil赋予一个全局变量等于删除它; Boolean可选值为 :false ,true ;false和nil都是假,除此之外全是真; number表示双精度浮点数, string表示一个字符串序列 ,是不可变的值;使用“[[]]”表示一个多行字符串且不解析转义序列 例如 : ?local page=[[ <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title>xxx</title> </head> </html>]] print(page) table 表实现了关联数组(关联数组是一种具有特殊索引方式的数组,不仅可以通过数字来索引它,还可以使用字符串或其他类型的值,除nil来索引) table没有固定大小,可以动态添加; 逻辑操作符 : lua提供的逻辑操作符有 and ,or 和not ; 对于and ,如果他的第一个操作数位假,就返回第一个操作数 ;不然就返回第二个操作数 ; 对于or ,如果他的第一个操作符位真,就返回第一个操作数,不然就返回第二个操作数; lua的逻辑操作数并不是简单的返回true或false ;而是返回操作数的值? 例如 : print(2 and 5) ? ?---》5 print(nil and 12) ---> nil print(false and 1) ?---> false print( 2 or 5) ---> 2 print (false or 5) ?---> 5 字符串链接 :使用操作符 .. table构造式 :local tDays ={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; print(tDays[1]) print(tDays[2]) local tb1 = {x =10,y=20} ? 也可以 ?local tb1 = {["x"] = 10,["y"]=20} print(tb1.x); print(tb1["x"]); local a ={} x = "y" a[x] ?=10 print(a[x]) ?--> 10 相当于a["y"] print(a.x) ? --> nil 相当于a["x"]; print(a.y) ? --> 10 相当于a["y"] 赋值 ;允许多重赋值,就是将多个变量赋予多个值; 例: local x,y = 2,4 print(x) ? ?-->2 print(y) -->4 如果需要交换两个元素的值 ; local x,y =2,3 x,y = y,x print(x) --> 3 print(y) --> 2 lua总是会将等号右边值的个数调整到与左边变量个数想一致; 规则是 : 如果左边个数多余右边值,那么多余的变量被赋值nil ;如果值的个数多,则多余的值被忽略 ; 局部变量与块 ; i = 10 全局变量 local i= 10 局部变量 使用do/end声明一个块 ; 例 : do local a = 10 end (a的作用域到此结束) 控制结构 if then else end while 条件 do? 。。。。 end? for var = v1,v2,v3 do print(v1) end var 从v1变化到v2,v3为每次变化的步长,v3为可选,如不指定,默认1; 使用for循环注意事项 : 1,v1,v3 这三个表达式在循环开始前一次性求值的,并不会每次循环都进行求值; 2,控制变量var会被自动的声明为for语句的局部变量,仅对循环体内可见; break与return break用于结束一个循环;return用于结束一个函数并返回结果; 函数 : 函数定义的特殊情况 :一个函数若只有一个参数,且此参数是字符串或table,那么小括号可以省略; 例 : print "hello world" --> print("hello world") 等价 ?print [[a multi-line? msg ]] ?f{x=10,y = 20} --> f({x=10,y=20})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读