Анимация
JavaScript
|
Главная Библионтека Выражения и операторы После того как вы познакомились со скалярными типами данных, можно попробовать сделать что-то полезное на Perl. Программа Perl - набор выражений и операторов, выполняемых последовательно от начала и до конца, если, конечно, вы не изменяете ход программы с помощью специальных операторов, описанных на 3-м занятии, "Управление процессом выполнения программы". Пример готовой программы на Perl приведен в листинге 2.1. стг1. jfpMbi на Perl . 1 !/usr/bin/perl -w $radins=50; 2:3 4: 5 9MSradius *. 2); Проведем анализ программы. • Строка 1. Как вы помните, в этой строке указывается путь к интерпретатору Perl. Ключ -w говорит о том, что нужно выводить все предупреждения. • Строка 3. В этой строке выполняется оператор присваивания. Скалярной переменной 5radius присваивается число 50. • Строка 5 этой строке также выполняется оператор присваивания. В правой части оператора присваивания находится выражение. Выражение содержит скалярную переменную dius, операторы * и ** (ниже описано их действие) и числовой скаляр 2. Переменной $агеа присваивается вычисленное значение выражения. • Строка 6. В этой строке распечатывается результат вычислений, находящийся в переменной $aiea. это набор операторов, имеющих значение. Например, 2 - допустимое выражение, как и 54*$r, "Java", sin($pi*8) и $t=6. Значения выражений вычисляются в ходе выполнения программы. Вначале программа вычисляет значения функций, операторов и скалярных констант, составляющих выражение, а затем - результирующее значение. Выражения можно использовать в операторах присваивания, в других выражениях или в операторах Peri. Основные операторы Как было показано в листинге 2.1, для присваивания используется оператор присваивания =. Этот оператор помещает значение выражения, находящегося в правой части, в переменную, указанную в левой части. Например: Stitle="yHeceHHHe ветром"; $pi=3.14159; Оператор, находящийся в правой части, должен иметь определенное значение, которое можно присвоить переменной, т.е. правая часть оператора присваивания должна являться выражением. Сама по себе операция присваивания также является выражением, 38 Ч1ь I. :в Perl значение которого указывается в правой части оператора присваивания. Это означает, что в приведенной ниже строке кода переменным $а, $Ь и $с присваивается значение 42: $а=$Ь=$с2; В этой строке переменной $с присваивается значение 42, затеЬ присваивается значение выражения $с=42 (равное 42). Переменной $а присваивается - значение выражения $ь=42. Переменная, которой нрисвоено значение, может иснользоваться в нра-вой части оператора присваивания, как показано ниже: $а=89*$а; Scount=$count+l; Правая часть выражения онератора присваивания вычисляется с использованием старого значения переменной $а или ?count. Оператор присваивания во второй строке имеет специальное название в Perl - инкремент. Мы еще остановимся на таких операторах подробнее. Числовые операторы У Perl имеется несколько операторов, которые предназначены для использования в числовых выражениях. Некоторые из них вам уже встречались, а с остальными мы сейчас познакомимся. Первой разновидностью уже знакомых вам операторов являются арифметические операторы. В табл. 2.3 приведен их список.
Арифметические операторы выполняются в порядке приоритетов, принятых в математике: сначала возведение в степень, затем умножение, деление, вычисление остатка от деления и только затем сложение и вычитание. Если вы не уверены; в каком порядке будут выполняться операции в вашем выражении, используйте скобки. В - выражениях с вложенными скобками вначале вычисляются элементы выражения во внутренних скобках: 5*6+9; ♦ Значение 39 5*(6+9); I Значеже 75 5+{6*(4-3)); I Значеьме 11 Строковые операторы Perl может оперировать не только числами, но и строками. Первым строковым оператором, который мы рассмотрим, является оператор конкатенации (.) • Этот оператор берет строку, находящуюся слева от него, и строку справа и возвращает строку, объединяющую предыдущие две, например: 5а="Прнвет, мой Свет!"; Sb=" Как я рад тебя видеть"; $с=$а . Sb; В этом примере переменные $а и $Ь имеют простые строковые значения. В последней строке переменной $с присваивается значение Привет, мой Свет! Как я рад тебя видеть, при этом значения переменных $а и $Ь не изменяются. Конкатенацию строк можно выполнить и другим способом. Раньше мы уже говорили, что внутри строк, заключенных в двойные кавычки, Perl "выискивает" имена переменных. Найденные переменные интерпретируются. Это означает, что имя переменной внутри строки в двойных кавычках заменяется реальным значением этой переменной, например: Siiame="JlxoH"; print "Привет, В этом примере Perl ищет в строке в двойных кавычках имена переменных, находит имя $name и подставляет вместо него строку Джон. Этот процесс называется интер-претациеи значения переменных. Для того чтобы переменные не интерпретировались, нужно заключить строку в одинарные кавычки (тогда Perl вообще никак не будет анализировать эту строку) или поставить обратную косую черту перед идентификатором имени переменной, например: Sname=*llingo*; print Я использую переменную ; I Не будет печатать слово "Ringo" print "Я использую перемеппую \$name"; # Также пе будет печатать слово "Ringo" Оба оператора print из предыдущего примера напечатают строку Я использую переменную $name, при этом переменная Sname не будет интерпретирована. Итак, оператор конкатенации можно заменить строками в двойных кавычках следующим образом: Sfruitl="H6noM"; $fruit2="KiiyiiM"; $bowl="$fruitl $fruit2"; Там, где Perl не может четко выделить имя переменной из остальной части строки, заключите имя переменной в фигурные скобки {}. Подобный прием позволяет Perl легко определить имя переменной, например: Sname="Thurs"; print "I went to the fair on ${date}day"; Без этих скобок непонятно, какую переменную должен интерполировать Perl - $date или $dateday. Фигурные скобки однозначно указывают, что $date. Следующим строковым оператором является оператор повторения х. В операторе х указываются два аргумента - строка, которую необходимо повторить, и число повторений. Например: $line="-" х 70; В предыдущем примере символповторяется 70 раз оператором х. Результат сохраняется в переменной $line. Другие операторы В Perl существует такое огромное количество операторов, что в этой книге просто не хватит места, чтобы их все подробно описать. Оставшаяся часть этого занятия посвящена часто используемым операторам и функциям Perl. 40 Ч1ь I. ;в 0 1 2 3 4 5 6 [ 7 ] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |