2013-06-02 24 views

risposta

7

a ||= b è simile a a = a || b, quindi:

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

è simile a:

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

Per il commento di Ikegami, la differenza è che a ||= b; valuta solo a una volta, e si valuta a prima dello b. Questo è importante quando a è magico o non è uno scalare.

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

hanno stesso effetto

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

o

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

+1 spiega più chiaramente cosa significa realmente – Andomar