Was bedeutet in Perl die Bedeutung des Operators ||=
im folgenden Beispiel?Was bedeutet der Operator || =
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
Was bedeutet in Perl die Bedeutung des Operators ||=
im folgenden Beispiel?Was bedeutet der Operator || =
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
a ||= b
ist ähnlich a = a || b
, so:
$sheet->{MaxCol} ||= $sheet->{MinCol};
die ähnlich ist:
$sheet->{MaxCol} = $sheet->{MaxCol} || $sheet->{MinCol};
Per ikegami Kommentar, der Unterschied besteht darin, dass a ||= b;
wertet nur a
einmal, und es wertet a
vor b
. Dies ist wichtig, wenn a
magisch ist oder kein Skalar ist.
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
haben gleiche Wirkung wie
if (!$sheet->{MaxCol}) { $sheet->{MaxCol} = $sheet->{MinCol}; }
oder
$sheet->{MaxCol} = $sheet->{MinCol} unless $sheet->{MaxCol};
+1 Deutlicher erklärt, was es eigentlich bedeutet – Andomar
http://perldoc.perl.org/perlop.html –