Простейший блок

Так называемый простейший блок (naked block) записывается без ключевых слов или условий. Допустим, в программе присутствует цикл while, который выглядит примерно так:

while (условие) {
тело;
тело;
тело;
}

Убрав из него ключевое слово while и условное выражение, мы получаем простейший блок:

{
тело;
тело;
тело;
}

Простейший блок напоминает цикл while или foreach, но без повторений; тело «цикла» выполняется ровно один раз, и на этом все заканчивается. Одна из специфических особенностей простейшего блока заключается в том, что он создает область видимости (scope) для временных лексических переменных (впрочем в будущем вы увидите другие применения простейших блоков):

{
print "Please enter a number: ";
chomp(my $n = );
my $root = sqrt $n; # Вычисление квадратного корня
print "The square root of $n is $root.\n";
}

Переменные $n и $root в этом блоке являются временными переменными, область видимости которых ограничивается блоком. В общем случае все переменные должны объявляться с минимально возможной областью видимости.


Если вам нужна переменная для нескольких строк кода, поместите эти строки в простейший блок и объявите в нем переменную. Конечно, если значение $n или $root будет использоваться позднее, эти переменные необходимо объявить в большей области видимости. Возможно, вы заметили функцию sqrt и поинтересовались, что это такое, – да, это функция, о которой мы раньше не упоминали. Perl содержит много встроенных функций, выходящих за рамки книги. За дополнительной информацией об этих функциях обращайтесь к man-странице perlfunc.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
Автоинкремент и автодекремент
Значение автоинкремента
Значение ускоренного логического оператора
Логические операторы
Метки блоков