П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3597 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6185 раз(а).

Учебник HTML.
Просмотров 3317 раз(а).

Руководство по PHP5.
Просмотров 5555 раз(а).

Хостинг через призму DNS.
Просмотров 4223 раз(а).

Подборка текстов стандартных документов.
Просмотров 55814 раз(а).

Учебник PHP - Самоучитель
Просмотров 3149 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 6317 раз(а).

Внешние атаки...
Просмотров 3898 раз(а).

Учебник PHP.
Просмотров 2860 раз(а).

SSI в примерах.
Просмотров 37494 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 4: Управляющие структуры.
4.5 Оператор foreach

Еще одна циклическая конструкция — оператор foreach. Этот оператор получает список значений и присваивает их по очереди скалярной переменной, выполняя с каждым последующим присваиванием блок кода. Выглядит это так:

foreach $i (@список) {
  оператор_1;
  оператор_2;
  оператор_3;
}

В отличие от C-shell, в Perl исходное значение этой скалярной переменной при выходе из цикла автоматически восстанавливается; другими словами, эта скалярная переменная локальна для данного цикла.

Вот пример использования оператора foreach:

@а= (1,2,3,4,5);

foreach $b (reverse @a) {
  print $b;
}

Эта программа выводит на экран 54321. Отметим, что список, используемый в операторе foreach, может быть произвольным списочным литералом, а не просто переменной-массивом. (Это справедливо для всех конструкций Perl, которым требуется список.)

Имя скалярной переменной можно опустить. В этом случае Perl будет действовать так, как будто вы указали имя переменной $_. Вы увидите, что переменная $_ используется по умолчанию во многих операциях языка Perl, поэтому ее можно рассматривать как неявную временную переменную. (Все операции, в которых по умолчанию используется $_, могут использовать и обычную скалярную переменную.) Например, функция print выводит значение переменной $_, если другие значения не указаны, поэтому следующий пример дает такой же результат, как и предыдущий:

@а = (1,2,3,4,5);
foreach (reverse @a) {
  print ;
}

Видите, насколько использование неявной переменной $_ все упрощает? Когда вы познакомитесь с другими функциями и операциями, которые по умолчанию используют $_, то еще выше оцените полезность данной конструкции. Это один из тех случаев, когда короткая конструкция более понятна, чем длинная.

Если список, над которым производятся циклические преобразования, состоит из реальных переменных, а не получен при помощи функции, возвращающей списочное значение, то используемая в цикле переменная представляет собой псевдоним для каждой переменной этого списка, а не просто копию ее значения. Это значит, что, изменяя скалярную переменную, вы изменяете и конкретный элемент в списке, который ей соответствует. Например:

@а = (3,5,7,9) ;
foreach $one (@a) {
  $one *= 3;
} # @а теперь равно (9,15,21,27)

Обратите внимание на то, что изменение переменной $оnе привело к изменению каждого элемента массива @а.

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru