Perl中的布尔值
我们知道,在Perl中,并没有专门的布尔值类型,但是在一些Perl文档中,你经常会看到诸如"某个函数返回了一个布尔值"或者"某个函数返回了true(或false)"等等这样的言论.那么,究竟哪种说法是对的呢? Perl的确没有专门的布尔值类型,但是当任何一个标量放在if条件中时,它的值不是被当成真,就会被当成假.所以你的条件判断不仅可以这么写: if($x eq "foo"){ } 同时还可以这么写: if($x){ } 前一段代码是检查了变量$x的值是否等于字符串"foo",而后一段代码是用来检查$x变量是个真值还是个假值. 在Perl中,什么样的值是真值,什么样的值是假值?答案很简单,我这里先直接引用一下perlsyn文档中"Truth and Falsehood"一小节中所讲的一段:
总结一下就是:在标量范围内,只有下面的这4个标量会被当成假值:
所有其他的标量都是真值,包括下面举的这些例子:
之所以这么设计,也许是因为Perl的创始人 ——?Larry Wall,有着非常积极的世界观.他也许认为,这个世界上只有极少数事物是坏的或者假的,大部分事物都是真的. 原文:http://perl5maven.com/boolean-values-in-perl (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |