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

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

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


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

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


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

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


Переменные $n и $root в этом блоке являются временными переменными, область видимости которых ограничивается блоком. В общем случае все переменные должны объявляться с минимально возможной областью видимости. Если вам нужна переменная для нескольких строк кода, поместите эти строки в простейший блок и объявите в нем переменную. Конечно, если значение $n или $root будет использоваться позднее, эти переменные необходимо объявить в большей области видимости. Возможно, вы заметили функцию sqrt и поинтересовались, что это такое, – да, это функция, о которой мы раньше не упоминали. Perl содержит много встроенных функций, выходящих за рамки книги. За дополнительной информацией об этих функциях обращайтесь к man-странице perlfunc.
Теги:
управляющие конструкции
Добавлено: 20 Июля 2018 19:45:32 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...