为什么“不为零”在Lua中归零?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么“不为零”在Lua中归零?相关的知识,希望对你有一定的参考价值。
我用repl.it看看它返回了什么,只是为了好奇,原来not nil
回归true
为什么?是因为在Lua中一切都应该是真的还是假的?
Repl.it链接:https://repl.it/repls/SanePastelHarrier
答案
因为nil
在转换为布尔值时是false
:
2.2布尔
布尔类型有两个值,
false
和true
,它们代表传统的布尔值。然而,布尔人并不垄断条件值:在Lua中,任何值都可能代表一个条件。条件(例如控制结构中的条件)将false
和nil
视为false
和其他任何东西,如true
。请注意,与其他一些脚本语言不同,Lua在条件测试中将零和空字符串视为true
。
并且not
将其参数视为布尔值:
3.3逻辑运算符
逻辑运算符是
and
,or
和not
。与控制结构一样,所有逻辑运算符都将false
和nil
视为false
,而将其他任何东西视为true
。
以上是关于为什么“不为零”在Lua中归零?的主要内容,如果未能解决你的问题,请参考以下文章
为啥即使我们将指针分配给NULL,指针的指向对象的大小也不为零?