我想这对于大多数优秀的1程序员来说是微不足道的,但我已经习惯了使用true
和false
2进行编程,以至于当我遇到 0 和 1 时,我永远记不起哪个代表真,哪个代表假。
有什么建议么?
1好:我的意思是一个知道 C 的人,当然:)
2我是一名 Java 开发人员,正如你所猜到的 ;)
我想这对于大多数优秀的1程序员来说是微不足道的,但我已经习惯了使用true
和false
2进行编程,以至于当我遇到 0 和 1 时,我永远记不起哪个代表真,哪个代表假。
有什么建议么?
1好:我的意思是一个知道 C 的人,当然:)
2我是一名 Java 开发人员,正如你所猜到的 ;)
助记符是“这其中有多少真相?” 零整数意味着零真理。其他任何事情都是非零真理。:)
我有一位同事,他的办公桌旁边的墙上只贴了一张便利贴:
错误 = 0
正确 != 0
如果你真的有那么大的麻烦,我会用这种语言把它抽象出来。
例如在 C 中
#define TRUE 1
#define FALSE 0
一般来说,无论如何我都会避免在代码中放置常量。
考虑,
if(my_var == TRUE)
相反,
if(my_var == 1)
不过,在这里你需要确保你正在测试正确的东西,
if(my_var != FALSE)
会抓到更多的病例。
干杯!
基督教
“不好了!”
(哦 == 0)
由于在 shell (sh, bash) 中 true 为 0 而 false 为 1,这使情况变得复杂:
$ 真 $回声$? 0 $假 $回声$? 1
记住“无==假”,“某事==真”
没有助记符 - 如果您来自硬件背景,它会变得更加复杂。但是对于程序员来说,只要问一个问题:
是否设置了任何位?
答案是真或假,就是结果。只有 0(即使是有符号整数)没有设置位。
-亚当
映射到On
和Off
。我认为大多数程序员都会以相同的方式映射这两个集合:1/true 都进入“开”,而 0/false 都进入“关”。
这取决于语言。
C:( 0 ? "never happens" : "false")
和( 1 ? "true" : "never happens")
Ruby , ELisp : 两者0
都是1
真的
bash(或cmd.exe):true
命令(来自 coreutils)以0
状态码false
退出,命令以非零状态码退出
许多现代流行的编程语言具有强大的 C 传统,因此它们认为0
是错误的并且1
(或任何非零数字)是正确的。
不要将助记符用于布尔值,使用您的语言的习语来测试真实性。
爱c - 因为你不能增加谎言。:)