加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 为什么不2 == 4返回false?

发布时间:2020-12-15 23:29:04 所属栏目:大数据 来源:网络整理
导读:我来自C背景,我正在尝试使用Beginning Perl学习perl.但是,第二章中的这段代码让我感到困惑: #!/usr/bin/perluse warnings;print"Is two equal to four? ",2 == 4,"n"; 当我运行代码时,这是输出: Is two equal to four? 下面进一步解释,2 == 4的值是未定义
我来自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的值是未定义的,但这对我来说似乎令人困惑和反直觉.两个显然不等于四,4和4之间的相同比较将产生真,导致输出结束时为’1′.为什么表达式不返回false?

解决方法

确实如此.但是,Perl没有真假.它具有真实和虚假的价值观.

返回布尔值的运算符将在true时返回1,而在false时,返回数值为零的特殊值和字符串化时的空字符串.我建议你加零来对结果进行编号:

use warnings;
print"Is two equal to four? ",0+(2 == 4),"n";

输出:

Is two equal to four? 0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读