推荐答案
测试一下
题目
6.Boolean 值
参考答案与知识点
参考答案
Perl不同于其它的一些语言 ,它没有 Boolean类型。它利用如下几条规则 ◆:
◆事实上 Perl不是用的这些规则 ,但你可以利用它们 方便记忆 ,其结果是一致的 。
Perl语言入门 (第四版 )
blei@163.com 34/201 9/21/2006●如果值为数字 ,0是false;其余为真
●如果值为字符串 ,则空串 (‘ ’)为false;其余为真
●如果值的类型既不是数字又不是字符串 ,则将其转换为数字或字符串后再利用上述规则 ◆。
◆这意味着 undef(很快会看到 )为false。所有的引用 (在Alpaca书中有详细讨论 )都是 true。
这些规则中有一个特殊的地方 。由于字符串 ‘ 0’和数字 0有相同的标量值 ,Perl将它们相同看待 。也就是说字符串 ‘ 0’是唯一
一个非空但值为 0的串。
如果想得到相反的值 ,可以使用一元非运算符 !。如果其后面的是 true,则得到 false;反之,则得到 true:
if(! $if_bigger){
#当$if_b igger非真时,运行此代码
}
涉及知识点
- Perl 布尔值判断规则
- 数字 0 为假
- 空字符串与 '0' 为假
- undef 为假
- 引用为真
- 标量上下文转换