2013-06-02 7 views

ответ

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

Смежные вопросы