Lua 基础之运算符

来源:互联网 发布:java语言与c语言 编辑:程序博客网 时间:2024/06/06 02:09

算术运算符

lua 的算术运算符有加减乘除、n次方(或开方)、求余等。

--算术运算符print(1.2 ^ 2)      --1.2的平方print(3 ^(-1 / 3))  --根号3分之一print(1.2 % 3)      --1.2a=math.piprint(a - a % 0.01) --3.14

关系运算符

lua 的关系运算符有 > >= < <= == ~=。

--关系运算符print(10.1 > 10.01)print(10 >= 10)print(10 <= 10)print(10 == 10)print(10 ~= "10")  --trueprint(false ~= nil)    -- truea = { 1, 2 }b = { 1, 2 }c = aprint(a == b)   --falseprint(a == c)   --true

逻辑运算符

--逻辑运算符--and和or都是短路操作function compare(a,b)    print("compare do")    return a > bend--不调用compare函数if false and compare(10,5) then    print("10>5")else    print("not compare")end--不调用compare函数if true or compare(10,5) then    print("10>5")else    print("no compare")end--调用compare函数if false or compare(10,5) then    print("10>5")else    print("no compare")endprint(nil or true)  --trueprint(true and nil) --nilprint(nil or false) --falseprint(not nil)      --truea=100b=101--a>b ? a : b 前提是a不为空x = a > b and a or bprint(x)

table构造式{}

--table构造式array = { "mon", "tes", "wed", "thu", "fri" }print(array[#array])dict = { name = "lin", age = 18, sex = "boy" }print(dict["age"])--使用table构造链表content = { "red", "blue", "green", "yellow" }list = nilfor i=1,#content do    list = { text = content[i], next = list }endwhile list do    print(list.text)    list=list.nextend--使用table构造结构体stc={color="red",size=18,{x=0,y=1}}print(stc.color)print(stc[1].x, stc[1].y)print(#stc) --1