來看看下面的代碼會(huì)輸出什么?
代碼如下:
my $a = 0;
$a = $a or 1;
print $a, "/n";
$a = $a || 1;
print $a, "/n";
輸出:
0
1
為什么呢?因?yàn)閨|, =, or 這三者優(yōu)先級(jí)從左至右逐漸降低。
所以,這樣寫可以:
chomp(my $filename = shift( @ARGV ) || <STDIN>);
這樣則不行:
chomp(my $filename = shift( @ARGV ) or <STDIN>);
會(huì)提示如下錯(cuò)誤:
Can't modify logical or (||) in chomp
新聞熱點(diǎn)
疑難解答
圖片精選