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


Составные операторы - часть 5



if ($var >= 0} # ВЫРАЖЕНИЕ {


print "Переменная неотрицательна."; # БЛОК1, если ВЫРАЖЕНИЕ истинно } else {


print "Переменная отрицательна."; # БЛОК2, если ВЫРАЖЕНИЕ ложно }


По существу, первая форма оператора if эквивалентна второй форме, если БЛОК2 не содержит ни одного оператора.


Последняя, третья форма оператора if реализует цепочку ветвлений. Семантика этого оператора такова. Выполняются операторы из БЛОК!, если


ИСТИННО ВЫРАЖЕНИЕ!. ЕСЛИ ОНО ЛОЖНО, ТО ВЫПОЛНЯЮТСЯ Операторы ИЗ БЛОК2


в случае истинности выражение2. Если и оно ложно, то проверяется ВЫРАЖЕНИЕ З и т. д. Если ни одно из выражений условия оператора if не истинно, то выполняются операторы блока, определяемого после ключевого слова else в случае его наличия. В противном случае выполняется следующий после оператора if оператор программы. При выполнении следующего оператора ветвления if


if( $var < 0) { # ВЫРАЖЕНИЕ!


print "Переменная отрицательна"; i БЛОК! } elsif ( $var == 0) { # ВЫРАЖЕНИЕ2


print "Переменная равна нулю"; # БЛОК2 } else {


print "Переменная положительна"; # БЛОКЗ }


сначала проверяется условие отрицательности переменной $var. Если значение переменной строго меньше нуля (ВЫРАЖЕНИЕ1), то печатается сообщение из БЛОК! и оператор завершает свою работу. Если значение переменной не меньше нуля, то оно проверяется на равенство (ВЫРАЖЕНИЕ2) и в случае истинности выполняется оператор печати из блока операторов elsif (влок2). Если проверка на равенство нулю дала ложный результат, то выполняется оператор печати из блока операторов else (БЛОКЗ).


Замечание

Ключевое слово else вместе со своим блоком операторов может быть опущено.

В операторе if со множественными проверками может быть сколько угодно блоков elsif, но только один блок else.

Так как все операторы ветвления определяются в терминах блоков операторов, то не возникает двусмысленности при определении, какие операторы в какой части выполняются.

При работе с операторами ветвления важно помнить, что только один блок операторов будет выполнен — тот, для которого истинно соответствующее выражение условия.




Начало  Назад  Вперед



Книжный магазин