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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值