Lua入门教程 3.表达式

本文详细介绍了Lua语言中的各种表达式,包括算术、关系和逻辑操作符的使用方法,以及字符串连接和表格构造式的语法特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x03 表达式

算术操作符

支持常规的算术操作符:二元的 + - * / ^ %
一元的 -
算术操作与C等语言一致

关系操作符

Lua提供了以下的关系操作符:<,>,<=,>=,~= 所有这些操作符的运算结果都是truefalse

== ~=用于相等性测试,这两个操作符可以应用于任意两个值。如果值具有不同类型则Lua认为它们是不相等的,否则Lua会根据它们的类型来比较两者。

对于table userdatafunction,Lua是作引用比较的。

    a = {}; a.x = 1; a.y = 0
    b = {}; b.x = 1; b.y = 0

    a = c

上面的代码结果为 a==c a~=b

不同类型的值做比较时返回false
逻辑操作符

逻辑操作符有and or not ,所有的逻辑操作符都返回true false nil
- 对于 and 来说,如果第一个操作数为假,就返回第一个操作数,否则返回第二个操作数
- 对于 or 来说,如果第一个操作数为真,就返回第一个操作数,否则返回第二个操作数

a>b?a:b

andor来表示则是

max = (x > y) and x or y

- 当x > y 时,就返回and后面的x,
- 当x <= y 时,or前面的表达式为false,于是返回or后面的y

字符串连接

连接操作符:..

print("Hello" .. "World")  -> HelloWorld
print(0..1)  -> 01
优先级
Item
^
not # -(一元)
* / %
..
< > <= >=
and
or
table构造式

可以初始化数组 也可以初始化键值对

    num = {"one", "two", "three"}
    a = {x=10, y=20}

若要以0开始索引,则可以这么做:

    days = {[0] = "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}

构造式 a = {x=0, y=0} 等价于 a = {["x"] = 0, ["y"] = 0}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值