码迷,mamicode.com
首页 > 其他好文 > 详细

lua 运算符

时间:2018-08-18 13:04:16      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:避免   inf   else   相等   tables   其他   lua   操作符   nil   

Lua中的表达式包括数字常量、字符串常量、变量、一元和二元运算符、函数调用。还可以是非传统的函数定义和表构造。

 

算术运算

二元运算符:+ - * / ^  (加减乘除幂)

一元运算符:-  (负值)

这些运算符的操作数都是实数。

 

关系运算符

<      >      <=     >=     ==     ~=

这些操作符返回结果为false或者true;==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等。Lua通过引用比较tables、userdata、functions。也就是说当且仅当两者表示同一个对象时相等。

 技术分享图片

 

Lua比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,但是字母顺序依赖于本地环境。

 技术分享图片

 

字符串 2和字符串15比较的时候,按照字母顺序比较的时候,首先字符2和字符1进行比较,2大于1,忽略后面的比较操作。

 技术分享图片

为了避免不一致的结果,混合比较数字和字符串,Lua会报错,比如:2 < "15"

当出现数字和字符串进行比较的时候会出现错误。

 

逻辑运算符

and    or     not

逻辑运算符认为false和nil是假(false),其他为真,0也是true. and和or的运算结果不是true和false,而是和它的两个操作数相关。

 

可以用if else来类比and和or的概念

技术分享图片

 

lua 运算符

标签:避免   inf   else   相等   tables   其他   lua   操作符   nil   

原文地址:https://www.cnblogs.com/namestc/p/9496550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!