【发布时间】:2013-08-26 08:24:18
【问题描述】:
我来自 C++ 背景,我正在尝试使用Beginning Perl 来学习perl。然而,第二章的这段代码让我很困惑:
#!/usr/bin/perl
use warnings;
print"Is two equal to four? ", 2 == 4, "\n";
当我运行代码时,这是输出:
Is two equal to four?
下面将进一步解释,2==4 的值是未定义的,但这对我来说似乎令人困惑和违反直觉。 2 显然不等于 4,并且 4 和 4 之间的相同比较会产生真值,从而导致输出末尾的“1”。为什么表达式不返回 false?
【问题讨论】:
-
Perl6 在 bool 主题 faq.perl6.org987654321@ 中会更直观
-
2==4 ? 'Yes' : 'No' -
另请参阅,definition of false
-
打印了什么?没有。没有什么是真的还是假的?在 perl 中,没有什么是假的。
标签: perl