询问下lua中的连续逻辑运算是怎样判定的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了询问下lua中的连续逻辑运算是怎样判定的相关的知识,希望对你有一定的参考价值。
例如:x = a and b or c中最后是怎么输出的 求中间的详细判定过程 如果是4个(abcd),或更多呢?
在Lua中,只有false和nil才计算为false,其它任何数据都计算为true,0也是true!and 和 or的运算结果不是true和false,而是和它的两个操作数相关。
a and b:如果a为false,则返回a(即false);否则返回b
a or b:如果 a 为true,则返回a(即true);否则返回b
举几个例子:
print(4 and 5) --输出 5 print(nil and 13) --输出 nil print(false and 13) --输出 false print(4 or 5) --输出 4 print(false or 5) --输出 5
在Lua中这是很有用的特性,也是比较令人混洧的特性。
我们可以模拟C语言中的语句:x = a? b : c,在Lua中,可以写成:x = a and b or c。
最有用的语句是: x = x or v,它相当于:if not x then x = v end 。
网上有基本语法教程,比如,
见:http://wenku.baidu.com/view/b7202812cc7931b765ce1559.html 参考技术A 法规不规范不会复活你功夫突然
以上是关于询问下lua中的连续逻辑运算是怎样判定的的主要内容,如果未能解决你的问题,请参考以下文章