Язык программирования Perl



               проститутка Площадь Революции, any | Специально для любителей фильмов для взрослых с инцестом мы создали раздел с огромным количеством порно видео с азитакми. Обилие выбора и HD качество роликов не оставят никого равнодушным.

Списки и списочные литералы - часть 2


Списочный литерал может содержать операцию диапазона, которая записывается в виде двух скалярных значений, разделенных двумя точками:

начальное_значение .. конечное_значение

В списочном контексте эта операция возвращает список значений. Возвращаемый список начинается со значения левого операнда, которое в цикле увеличивается на единицу, пока не будет достигнуто значение правого операнда. Приведем примеры:

5 .. 10 # возвратит список (5, 6, 7, 8, 9, 10) 5.3 .. 7.1 # возвратит список (5.3, 6.3), т. к. 7.3 > 7.1 7 .. 5 # возвратит пустой список (), т. к. 5 < 7 $m .. $n # диапазон, заданный значениями от $m до $n

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

(-2 .. 2) # список чисел (-2, -1, 0, 1, 2) (25, 53, 77 .. 79) # список (25, 53, 77, 78, 79) ('A'..'Z','a'..'z') # список заглавных и строчных букв ($start .. $finish) # список значений от $start до $finish

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

($a, $b, $c) = (10 .. 12); # $a = 10; $b = 11; $c = 12; ($day, $month, $year) = (18, 12, 1987); # день рождения Perl ($m, $n) = ($n, $m); # поменять местами значения $n и $m

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

($hh, $mm, $ss, $ms) = (10, 20, 30); # $ms не определено

Если в левой части присваивания переменных меньше, чем значений в правой, то лишние значения не используются.

($hh, $mm, $ss) = (10, 20, 30, 400); # 400 отброшено

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

$scalar = (10, 20, 30, 400); # то же, что $scalar = 400;




Содержание  Назад  Вперед