当前位置:  开发笔记 > 编程语言 > 正文

TRUE是否始终具有非零值?

如何解决《TRUE是否始终具有非零值?》经验,为你挑选了4个好方法。

我有一个同事认为TRUE过去被定义为0而其他所有值都是FALSE.我可以发誓我使用的每种语言,如果你甚至可以得到一个布尔值,那么FALSE的值是0.去过TRUE是0吗?如果是这样,我们何时切换?



1> webmat..:

你的同事感到困惑的0 /非0事件可能是指人们使用数值作为返回值表示成功,而不是真实(即在bash脚本和某些样式的C/C++中).

使用0 =成功可以更精确地指定失败原因(例如,1 =丢失文件,2 =丢失肢体,等等).

作为旁注:在Ruby中,唯一的错误值是nil和false.0为真,但与其他数字不同.0为真,因为它是对象0的实例.



2> stephenbayer..:

它可能是在引用结果代码0时,在大多数情况下,在进程运行之后,结果代码为0表示"嘿,一切正常,这里没有问题".


有理由说,如果它有效,没有什么可说的,如果它失败了,有很多非零返回码来表明它是什么样的失败.

3> Sam Stokes..:

我在一家拥有大量旧C代码的公司工作.一些共享头文件为TRUE和FALSE定义了自己的值,有些确实将TRUE设置为0,将FALSE设置为1.这导致了"真相之战":

/* like my constants better */
#undef TRUE
#define TRUE 1

#undef FALSE
#define FALSE 0



4> zigdon..:

如果没有别的,bash shell仍然使用0表示true,将1表示为false.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有