我想这对于大多数优秀的 1 程序员来说都是微不足道的,但我已经习惯使用true
和false
2进行编程当我遇到0和1时,我永远无法记住哪一个意味着真实,哪一个意味着错误。
有什么建议吗?
1 好:I mean one who knows C, of course :)
2 我是一名Java开发人员,正如您所猜测的那样;)
答案 0 :(得分:9)
助记符是“这有多少真相?”零整数意味着零真相。其他任何事情都是非零事实。 :)
答案 1 :(得分:4)
我有一个同事,他的桌子旁边的墙上贴了便利贴:
假= 0
真!= 0
答案 2 :(得分:4)
如果你真的遇到麻烦,我会用这种语言来抽象它。
e.g。在C
#define TRUE 1
#define FALSE 0
一般来说,我会避免在代码中出现常量。
考虑,
if(my_var == TRUE)
而不是,
if(my_var == 1)
尽管如此,你需要确保你正在测试正确的事情,
if(my_var != FALSE)
会抓住更多案件。
干杯!
基督教
答案 3 :(得分:3)
“哦不!”
(哦== 0)
答案 4 :(得分:3)
这很复杂,因为在shell(sh,bash)中,true为0,false为1:
$ true $ echo $? 0 $ false $ echo $? 1
答案 5 :(得分:3)
你有没有注意到日常用品的电源开关使用circle for off, and a line for on?
将它们联系起来并不是一件容易的事。
Off = circle = zero = false
On = line = one = true
答案 6 :(得分:2)
记住“没有== false”,“有些东西== true”
答案 7 :(得分:2)
没有助记符 - 如果你来自硬件背景,它会变得更加复杂。但对于程序员来说,只需提出问题:
是否设置了位?
答案是真还是假,结果是。只有0(即使在有符号整数中)没有设置位。
- 亚当
答案 8 :(得分:1)
将两者都映射到On
和Off
。我认为大多数程序员都会以相同的方式映射两个集:1 / true都是'On',而0 / false都是'Off'。
答案 9 :(得分:1)
这取决于语言。
C :( 0 ? "never happens" : "false")
和( 1 ? "true" : "never happens")
Ruby , ELisp :0
和1
都是真的
bash (或 cmd.exe ):true
命令(来自coreutils)退出时带有0
状态代码, false
命令以非零状态代码退出
许多现代流行的编程语言具有强大的C语言传统,因此他们认为0
为假,1
(或任何非零数字)为真。
不要将助记符用于布尔值,使用语言的习语来测试真实性。
答案 10 :(得分:0)