Lua.2 lua的表達式

lua的表達式


算數運算符

1.二元運算符 加 + 減 - 乘 * 除 / 指數 ^ 取模 %
2.一元運算符 負號 -

注意:
1.這些運算符都可以用來操作實數。

b = 1
c = 2
d = 3
print(b + c - d) => 0
print(b * c / d) => 0.6666666667
print(b^2) => 1


關係運算符

 小於 <
 大於 >
 小於等於 <=
 大於等於 >=
 等於 ==
 不等於 ~=

注意:
1. 關係運算符的運算結果都是true或者false

b = 1
c = 2
print(b < c) => true
print(b == c) => false


2.這裏注意不等於號是~=
print(b ~= c) => true


3.nil只能自身相等
4.兩個類型不相同的值是不相同的。
a = 100
b = "100"
print(a == b) =>false


5.table,userdata,function比較的是指向的引用,或者說是指向的對象,只有指向的是同一個對象時才相等。

a = {}
b = {}
c = b
print(a == b) => false
print(b == c) => true


邏輯運算符

或 or
與 and
非 not

注意:
1.所有邏輯運算符將false和nil視爲假,其他任何都視爲真。
a = nil
b = false
c = true
print(not a) => true非假爲真



2.對於and來說,如果第一個操作數爲假,就返回第一個操作數,不然返回第二個操作數。
print(a and c) => nil 



3.對於or來說,如果第一個操作數爲真,就返回第一個操作數,不然就返回第二個操作數。
print(a or false) => false nil和false都是假,返回第二個操作數
print(a or c) => true c爲真




運算符優先級

從高到低排列
^
not #(獲取table或者字符串的長度) -(負號)
* / %
+ -
..(字符串連接負號)
< > <= >= ~= ==
and
or

table的構造

1.最簡單的就是 {}
a = {}


2.以數組方式初始化,數字爲索引
b = {"one","two","three","four"}
print(b[1]) => one
print(b[2]) => two
print(b[3]) => three
print(b[4]) => four


兩種寫法的意義是相同的


3.key-value風格的table
c = {x=100,y=200}
print(c["x"]) => 100
print(c["y"]) =>200
也可以這麼寫
print(c.x) =>100
print(c.y) => 200




4.可以在創建之後添加或刪除字段

d = {}
d.age = 10 創建之後動態添加key
d[2] = "xiaoming" 也可以添加索引
d[2] = nil 刪除字段
d = nil 刪除table



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章