lua不等于 lua大于等于
lua如何把大于小于比较在not前
//如果a大于b或者a不等于0,则返回真if a > b or a ~= 0 then return true//如果a等于b并且a不等于0则返回真if a == b and a~=0 then return true符号说明:比较大小:等于:==不等于:~=且:and或:or
lua不等于 lua大于等于
lua的等于符号的小疑问
你要了解lua的赋值机制。
很明显,a和b都是table。 并且a和b都是一个符号而已,他们只是引用不同的地址的内容。
那么图1,a和b 两个符号引用的是 2个地址,尽管这两个地址保存的变量时相同的。
图2,a和b 引用的是相同的地址,所以,他们相等了。
也就是说,相对于table来说,==号,其实判定的是左右两边的引用地址,而不是 引用的变量的值
Lua里有没有逻辑运算 中的并和或的运算
Lua有逻辑运算,具体参考如下:
比较运算符< > <= >= == ~=
分别表示 小于,大于,不大于,不小于,相等,不相等。所有这些操作符总是返回true或false。
对于Table,Function和Userdata类型的数据,只有 == 和 ~=可以用。相等表示两个变量引用的是同一个数据。比如:
a={1,2}
b=a
print(a==b, a~=b) -- true, false
a={1,2}
b={1,2}
print(a==b, a~=b) -- false, true
数值运算符
和C语言一样,支持 +, -, *, /。但Lua还多了一个"^"。这表示指数乘方运算。比如2^3 结果为8, 2^4结果为16。
连接两个字符串,可以用".."运处符。如:
"This a " .. "string." -- 等于 "this a string"
逻辑运算 (此处特别注意)
and, or, not
其中,and 和 or 与C语言区别特别大。
在这里,请先记住,在Lua中,只有false和nil才计算为false,其它任何数据都计算为true,0也是true!
and 和 or的运算结果不是true和false,而是和它的两个操作数相关。
a and b:如果a为false,则返回a;否则返回b
a or b:如果 a 为true,则返回a;否则返回b
运算符优先级,从高到低顺序如下:
^not - (一元运算)
* /
+ -
..(字符串连接)
< > <= >= ~= ==
and
or
Lua 中的逻辑操作符有 and, or, 以及 not。
10 or 20 --> 10
10 or error() --> 10
nil or "a" --> "a"
nil and 10 --> nil
false and error() --> false
false and nil --> false
false or nil --> nil
10 and 20 --> 20