perl 中的or与||的区别
perl 中的or与||的区别
发布时间:2016-12-28 来源:查字典编辑
摘要:来看看下面的代码会输出什么?复制代码代码如下:my$a=0;$a=$aor1;print$a,"n";$a=$a||1;print$a,"n...

来看看下面的代码会输出什么?

复制代码 代码如下:

my $a = 0;

$a = $a or 1;

print $a, "n";

$a = $a || 1;

print $a, "n";

输出:

0

1

为什么呢?因为||, =, or 这三者优先级从左至右逐渐降低。

所以,这样写可以:

chomp(my $filename = shift( @ARGV ) || <STDIN>);

这样则不行:

chomp(my $filename = shift( @ARGV ) or <STDIN>);

会提示如下错误:

Can't modify logical or (||) in chomp

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新perl学习
热门perl学习
脚本专栏子分类