三元運算符

2013-08-26 15:22

三元運算符
 

另外也有一種非常類似 if {...} else {...} 的運算符,我們稱為三元運算符。他的寫法也就是像這樣:
 


my ($a, $b) = (42, 22);
my $max = ($a > $b) ? $a : $b;
print "$max\n";


首先我們把串列 (42, 22) 指定給變數 $a 跟 $b,接著我們要找到兩個值中較大的一個,於是利用判斷式 ($a > $b) 來檢查兩個數字之間的關係。如果 $a > $b 成立,那麼 $max 就是 $a,否則就是 $b。所以很明顯的,上面的三元運算符也可以改寫成這樣:
 


my ($a, $b) = (44. 22);
if ($a > $b) { $max = $a } else { $max = $b }
print "$max\n";

 

 

 

my $return = cal(5);
print "$return\n";

sub cal {
    my $param = shift;
    ($param > 4) ? $param*2 : $param**2;  # 利用參數來判斷回傳值的運算方式
}