询问下lua中的连续逻辑运算是怎样判定的
例如:x=aandborc中最后是怎么输出的求中间的详细判定过程如果是4个(abcd),或更多呢?...
例如:x = a and b or c中最后是怎么输出的 求中间的详细判定过程 如果是4个(abcd),或更多呢?
展开
2个回答
展开全部
在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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询