2013-06-02 66 views
6

是什麼意思在Perl中,在下面的例子中,運算符||=的含義是什麼?operator || =

$sheet -> {MaxCol} ||= $sheet -> {MinCol}; 
+0

http://perldoc.perl.org/perlop.html –

回答

7

a ||= b類似於a = a || b,所以:

$sheet->{MaxCol} ||= $sheet->{MinCol}; 

是類似於:

$sheet->{MaxCol} = $sheet->{MaxCol} || $sheet->{MinCol}; 

每池上的評論,所不同的是a ||= b;只判斷a一次,它評估a之前b。這在a是神奇的或不是標量時很重要。

5
$sheet -> {MaxCol} ||= $sheet -> {MinCol}; 

具有相同的效果,

if (!$sheet->{MaxCol}) { $sheet->{MaxCol} = $sheet->{MinCol}; } 

$sheet->{MaxCol} = $sheet->{MinCol} unless $sheet->{MaxCol}; 
+0

+1更清楚地解釋了這實際意味着 – Andomar