Анимация
JavaScript


Главная  Библионтека 

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

Вав выбор: П п-о......

Ваи выбор: р Про-р-

Ваш выбор: г Прогр-

ваш выбор: а

В этой небольшой программе я постарался продемонстрировать весь изученный в этом часе материал списки литералов, массивы, функции split и join, контекст и циклы

foreach. Подобную игру можно было бы запрограммировать массой различных способов,

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

Резюме

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

Вопросы и ответы

Существует ли быстрый способ поиска определенной строки в элементах массива?

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

Как удалить повторяющиеся элементы массива? Как подсчитать количество уникальн1х элементов?

Ка мрить, содержатся ли в двух различн1х массивах одинаковые элементы?

Ответ тот же: используйте хэш. Хэши позволяют быстро и эффективно выполнять различные манипуляции над массивами. Все эти вопросы будут рассмотрены на 7-м занятии.

Семинар

Контрольные вопросы

1. Какой наиболее эффективный способ поменять значения переменных $а и

а) 5a=Sb;

б) ($а,$Ь)=($Ь,$а);

в) $с=$а; $а=$Ь; Sb=Scj

80 Чть I. :Ei Perl



2. Какое значение получит переменная $а после выполнения оператора Sa=scalar(§array); ?

а) количество элементов массива

б) индекс последнего элемента массива

в) такой синтаксис недопустим.

Ответы

1. Правильным является вариант б). Первый пример вообще не будет работать, поскольку начальное содержимое переменной $а будет потеряно. Вариант в) подходит, но в нем используется вспомогательная переменная. Простой код варианта б) корректно меняет значения переменных и не требует введения дополнительных переменных.

2. Правильный ответ - вариант а). Массив в скалярном контексте возвращает количество своих элементов. Для определения индекса последнего элемента используется конструкция 5*array. Использование функции scalar в этом примере не обязательно, поскольку в левой части оператора присваивания находится скаляр. Он и определяет скалярный контекст для массива

Упражнения

Модифицируйте программу Hangman так, чтобы фигурка печаталась в вертикальном положении.



5-й час

Работа с файлами


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

Однако отныне все изменится!

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

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

Основные темы этого занятия.

• Как открывать и закрывать файлы.

• Как записывать данные в файлы.

• Как читать данные из файлов.

• Как создавать "безопасные" программы.

Открытие файлов

ДЛЯ чтения и записи файлов в Perl необходимо открыть так называемый дескриптор файла. Дескрипторы файлов - еще одна разновидность переменных Perl. Они служат для идентификации файлов в программе и операционной системе. В дескрипторе содержится информация о способе открытия файла, режимах доступа (чтение и/или запись), а также атрибуты, определенные пользователем.

Из материала прошлтх занятий вы уже знакомы с одним из дескрипторов - STDIN. Этот дескриптор автоматически передается программе при запуске и обычно связан с клавиатурой (позднее вы узнаете еще некоторые особенности дескриптора STDIN).

Чть I. :Ei Perl



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