Михаил Шохирев - Язык программирования Perl

На нашем литературном портале можно бесплатно читать книгу Михаил Шохирев - Язык программирования Perl, Михаил Шохирев . Жанр: Прочая околокомпьтерная литература. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале fplib.ru.
Михаил Шохирев - Язык программирования Perl
Название: Язык программирования Perl
Издательство: -
ISBN: -
Год: -
Дата добавления: 6 март 2020
Количество просмотров: 348
Читать онлайн

Помощь проекту

Язык программирования Perl читать книгу онлайн

Язык программирования Perl - читать бесплатно онлайн , автор Михаил Шохирев
1 ... 7 8 9 10 11 ... 55 ВПЕРЕД

Операция выбора (или условная операция) - это единственная в Perl тернарная операция, в которой участвуют три операнда. Первый операнд - условное выражение, определяющее результат операции: если первый операнд истинный, то результатом будет значение второго операнда, иначе - значение третьего операнда. После первого операнда ставится знак вопроса, а после второго - двоеточие. Например:


($n < 0) ? 0 : --$n $temperature < 20 ? 'холодно' : 'тепло'


Перечень операций в языке Perl не ограничивается рассмотренными в этой лекции. По мере изучения других разделов будут описаны другие, более специализированные операции. Например, нам наверняка понадобится операция чтения строки из стандартного входного потока (обычно связанного с системной консолью). Она обозначается символами <> и по- английски называется diamond, что на русский лучше всего перевести как "кристалл" (хотя встречается русское название "ромб"). Эта операция считывает очередную строку и возвращает ее значение:


$line = <> # считать в $line строку из стандартного ввода


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

Очередность выполнения операций в выражении определяется их приоритетами и ассоциативностью, но она может быть изменена с помощью скобок. Приоритет определяет порядок вычисления операций в выражении: операции с более высоким приоритетом вычисляются раньше. Например, приоритет у операций умножения и деления выше, чем у сложения и вычитания. Ассоциативность определяет порядок вычислений, если в выражении используются операции с одинаковыми приоритетами. Операции с ассоциативностью слева вычисляются обычным образом, слева направо. Но из двух операций, имеющих ассоциативность справа, первой вычисляется стоящая справа. Например:


$a ** $b ** $c # ассоциативность справа, т.е. $a**($b**$c) $a * $b / $c # ассоциативность слева, т.е. ($a * $b) / $c $a && $b && $c # ассоциативность слева, т.е. ($a && $b) && $c $a = $b = $c # ассоциативность справа, т.е. $a = ($b = $c) $a | $b ^ $c # ассоциативность слева, т.е. ($a | $b) ^ $c


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

Таблица 3.2. Ассоциативность и приоритет операций (от высокого к низкому).АссоциативностьПриоритетОперацияСлева24термы и операции над списками (справа налево)Слева24-> (вызов метода, разыменование)Не ассоциативные22++ -- (автоинкремент, автодекремент)Справа21** (возведение в степень)Справа20! ~ + - (логическое НЕ, побитовое отрицание, операция ссылки, унарный плюс, унарный минус)Слева19=~ !~ (привязка к шаблону: совпадение, несовпадение)Слева18* / % х (умножение, деление, деление по модулю, повторение строки)Слева17+ - . (сложение, вычитание, конкатенация строк)Слева16<< >> (побитовый сдвиг влево или вправо)Не ассоциативные15именованные унарные операции и операции над файламиНе ассоциативные14< > lt gt le ge (меньше, больше, меньше или равно, больше или равно и их строковые эквиваленты)Не ассоциативные13== != <=> eq ne cmp (равно, не равно, сравнение и их строковые эквиваленты)Слева12& (побитовое И)Слева11| ^ (побитовое ИЛИ, побитовое исключающее ИЛИ)Слева10&& (логическое И)Слева9|| (логическое ИЛИ)Не ассоциативные8.. ... (не включающие или включающие граничные значения диапазоны)Справа7?: (операция выбора или условная операция)Справа6= += -= *= и т. д. (присваивание и присваивание с вычислением)Слева5, => (запятая и запятая-стрелка)Не ассоциативные4операции над списками (слева направо)Справа3not (логическое НЕ)Слева2and (логическое И)Слева1or xor (логическое ИЛИ, логическое исключающее ИЛИ)

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

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

Лекция 4. Управляющие структуры

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

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

Минимальная синтаксическая единица языка программирования называется термом. Терм (term) - это все то, что может служить операндом в выражении, например, литерал или переменная. Выражение напоминает неоконченную фразу в естественном языке. Чтобы выражение стало законченным предложением (statement, называемым также утверждением), нужно после него поставить символ ";" (точка с запятой). Другими словами, простое предложение - это выражение, вычисляемое ради его побочного эффекта. Кроме предложений, в программе на Perl могут присутствовать объявления переменных и подпрограмм, которые будут рассмотрены позднее. Приведем примеры простых предложений:


$count = 0; # присваивание значения переменной $count++; # изменение значения операнда $result = 'Итого=' . $count . "n"; # подготовка к печати 1; # литерал - минимальное, но корректное предложение


Последнее предложение, кажущееся бессмысленным, применяется в последней строке модулей для возврата "истинного" значения при успешной загрузке модуля. О модулях будет подробно рассказано в лекции 13.

Программа на Perl пишется в свободном формате. Это означает, что ее можно записывать сплошным текстом, вставляя для удобочитаемости между термами и знаками операций любое количество пробельных символов (whitespace) таких как пробел, символ табуляции или перевод строки. По желанию автора можно прервать выражение до или после терма и продолжить его на следующей строке. Можно, конечно, вообще не применять пробельных символов и записывать программу в таком виде:


$count=0;$count++;$result='Итого='.$count."n";1;

1 ... 7 8 9 10 11 ... 55 ВПЕРЕД
Комментариев (0)
×