In Perl, qual è il significato dell'operatore ||=
nell'esempio seguente?Qual è il significato dell'operatore || =
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
In Perl, qual è il significato dell'operatore ||=
nell'esempio seguente?Qual è il significato dell'operatore || =
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
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.
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
hanno stesso effetto
if (!$sheet->{MaxCol}) { $sheet->{MaxCol} = $sheet->{MinCol}; }
o
$sheet->{MaxCol} = $sheet->{MinCol} unless $sheet->{MaxCol};
+1 spiega più chiaramente cosa significa realmente – Andomar
http://perldoc.perl.org/perlop.html –