W języku Perl, jakie jest znaczenie operatora ||=
w następującym przykładzie?Jakie jest znaczenie operatora || =
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
W języku Perl, jakie jest znaczenie operatora ||=
w następującym przykładzie?Jakie jest znaczenie operatora || =
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
a ||= b
jest podobna do a = a || b
, więc:
$sheet->{MaxCol} ||= $sheet->{MinCol};
jest podobny do:
$sheet->{MaxCol} = $sheet->{MaxCol} || $sheet->{MinCol};
Per komentarzu Ikegami za różnica jest taka, że a ||= b;
ocenia tylko a
raz i ocenia a
przed b
. Ma to znaczenie, gdy a
jest magiczne lub nie jest skalarem.
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
mieć taki sam skutek jak
if (!$sheet->{MaxCol}) { $sheet->{MaxCol} = $sheet->{MinCol}; }
lub
$sheet->{MaxCol} = $sheet->{MinCol} unless $sheet->{MaxCol};
+1 Więcej jasno wyjaśnia co to właściwie oznacza – Andomar
http://perldoc.perl.org/perlop.html –