Иллюстрированный самоучитель по Perl




Операции присваивания - часть 3


/p>

Возвращаемым значением каждой из составных операций присваивания, как и в случае простого присваивания, является переменная левого Операнда (правильное lvalue), поэтому их можно использовать в любом операнде других операций присваивания (пример 4.11).

$b = 1;  
$а = ($Ь +=3); # Результат: $а = $b = 4
$а += ($Ь += 3); # Результат: $а = $а+$b+3
( ($а += 2) **= 2) -= 1; # Результат: $а = ($а+2)**2-1

  Замечание

При использовании операции присваивания (простой или составной) в качестве левого операнда другой операции присваивания обязательно ее заключение в круглые скобки. Иначе может сгенерироваться синтаксическая ошибка, или выражение будет интерпретировано не так, как задумывалось. При наличии нескольких операций присваивания в одном выражении без скобок интерпретатор peri начинает его разбор справа. Например, если последнее выражение примера 4.11 записать без скобок

$а += 2 **= 2 -•= 1;

то при его синтаксическом анализе интерпретатор сначала выделит операцию присваивания

2 -= 1;

и сообщит об ошибке, так как ее синтаксис ошибочен (левый операнд не является переменной или элементом массива).




Содержание  Назад  Вперед