Управляющая конструкция unless

В управляющей конструкции if блок кода выполняется только в том случае, если условие истинно. Если блок кода должен выполняться только при ложном условии, замените if на unless:

unless ($fred =~ /^[A-Z_]\w*$/i) {
print "The value of \$fred doesn't look like a Perl identifier name.\n";
}


В сущности, конструкция unless эквивалентна проверке if с противоположным условием. Также можно сказать, что unless напоминает самостоятельную секцию else. Если вы встретили в программе конструкцию unless, смысл которой вам не понятен, перепишите ее (мысленно или реально) в виде проверки if:

if ($fred =~ /^[A-Z_]\w*$/i) {
# Ничего не делать
} else {
print "The value of \$fred doesn't look like a Perl identifier name.\n";
}


Такое действие не изменяет эффективности программы, которая должна компилировать в тот же внутренний байт-код. Также можно переписать условное выражение, используя оператор отрицания (!):

if ( ! ($fred =~ /^[A-Z_]\w*$/i) ) {
print "The value of \$fred doesn't look like a Perl identifier name.\n";
}


Выберите тот стиль программирования, который покажется вам наиболее логичным, потому что он же, скорее всего, будет выглядеть наиболее логично при сопровождении вашего кода. Если вы считаете вариант с отрицанием более логичным, используйте его. И все же использование unless выглядит более естественно.
Теги:
управляющие конструкции
Добавлено: 20 Июля 2018 19:43:11 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...