русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операции со скалярными Назначение


Дата добавления: 2014-11-28; просмотров: 660; Нарушение авторских прав


массивами, ©array___________________________________________

push (массив, список-значений) Добавление элемента в конец массива

pop (массив) Удаление последнего элемента массива

shif t (массив, список-значений) Добавление элемента в начало массива

unshif t (массив) Удаление первого элемента массива

sort (массив) Сортировка элементов массива по возрастанию

reverse (массив) Сортировка элементов массива по убыванию

split (разделитель, строка) Разбивка строки на элементы. Разделитель может быть ре-

гулярным выражением или строкой

join (разделитель, массив) Объединение элементов массива в одну строку

grep (массив, шаблон) Поиск образца среди элементов массива

splice (массив, индекс) Удаление указанного элемента из массива. Элементы ну-

меруются с нуля

splice (массив, индекс, число) Удаление из массива указанного количества последова-

тельных элементов

splice (массив, число, 0, строка) Вставка в массив элемента со значением строка

splice (массив, $targv, 0, строка) Добавление нового элемента в конец массива

Операции с ассоциативными Назначение

массивами, %аггау____________________________________

keys (%ассоц~массив) Генерирование списка всех индексных строк в ассоциа-

тивном массиве

values (%ассоц-массив) Генерирование списка значений всех элементов в ассоциа-

тивном массиве

each (%ассоц-массив) Возврат значения следующего элемента и его индексной

строки

delete (%ассоц-масив, индекс-строка) Удаление из ассоциативного массива элемента с указанным индексом

 

Общие операции над массивами_ Назначение_________________________

undef (массив)___________ Удаление всего массива (скалярного или ассоциативного)

Ассоциативные массивы. В ассоциативном массиве для индексации элементов вместо числовых значений при­меняются строки. Индексную строку можно считать ключевым словом, которое ис­пользуется для поиска элемента. В Perl ассоциативный массив определяется с помощью символа %, указываемого перед его именем. Список присваиваемых значений состоит из пар «индексная строка—значение элемента». За индексной строкой следует значение элемента, затем — следующая индексная строка и значение элемента и т. д. В приведен­ном ниже примере определяется ассоциативный массив city, состоящий из четырех элементов, каждый из которых имеет целочисленное значение и индексную строку в виде названия города.



%city = ('Sacramento', 4, 'Fallen', 86, 'Napa', 7, 'Alameda', 53 ) ;

Для установления ссылки на элемент ассоциативного массива применяется его ин­дексная строка. Индексная строка заключается в одинарные кавычки и фигурные скобки (не круглые!).

print $city{'Fallon'};

Чтобы добавить в ассоциативный массив новый элемент, необходимо задать индекс в виде строки и значение этого элемента.

$city{'LA'} = 45;

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

print %city;

В языке Perl для работы с ассоциативными массивами предназначен целый набор функций (списочных операций). С их помощью можно формировать списки ключей или значений. Эти функции облегчают выполнение итерации в ассоциативном массиве. Получить значения строк, применяемых для индексирования элементов ассоциативного массива, довольно тяжело, что отличает его от обычного массива. В скалярном массиве индексирование всегда начинается с 0, а завершается последним элементом. В ассо­циативных массивах в качестве индексов выступают произвольные строки. Эти строки служат для обращения к элементам массива. С помощью функции keys можно создать список, состоящий из индексных строк ассоциативного массива. Один из дальнейших путей применения индексных строк — индексирование самого массива. Функция keys использует в качестве аргумента имя ассоциативного массива и возвращает список всех индексных строк, которые можно применять для обращения к отдельным элементам массива. В следующем примере функция keys генерирует список индексных строк массива city. Индексные строки поочередно присваиваются переменной myindex. Затем, при выполнении операции вывода на экран, производится индексирование мас­сива city посредством переменной myindex.

foreach Smyindex ( keys(%city) )

{

print " $city($myindex) \n " ;

}

Функция each подобна функции keys, однако она наряду с индексной строкой для элемента ассоциативного массива возвращает и значение самого элемента. Аргу­ментом функции each является имя массива. Итак, при обращении к функции each возвращается следующий элемент массива и соответствующая ему индексная строка. В примере, приведенном ниже, переменным myindex и myval присваивается индексная строка, а также значение первого элемента массива myvar.

($myindex, $myval) = each (%city) ;

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

while ( ($myindex, $myval) = each (%city) ;

{

print "$myval $myindex\n " ;

}

Функция values возвращает список значений всех элементов ассоциативного мас­сива. Ее применение целесообразно, если требуется сформировать список значений элементов ассоциативного массива без индексных строк.

Средством удаления элемента из ассоциативного массива является функция delete. Она использует в качестве аргумента индексную строку удаляемого элемента и возвра­щает его значение. В следующем примере функция delete применяется для удаления элемента, соответствующего индексной строке «Sacramento».

delete (%myarr, "Sacramento") ;

Удалить целый массив позволяет функция undef. Ее действие распространяется как на скалярные, так и на ассоциативные массивы. При полном удалении массива уменьшается объем используемой памяти.

Управляющие структуры. Управляющие структуры языка Perl подобны управляющим структурам языков gawk и С, а также интерпретатора TCSH. В Perl-сценариях используются циклы, обеспечи­вающие повторение команд, а также условия, которые позволяют выбирать команду из нескольких заданных. В выражениях условий применяются как строковые (табл. 5), так и числовые (табл. 3) операторы, а также регулярные выражения. Управляющие структуры Perl и их синтаксис описаны в табл. 6.

Таблица 5.Строковые, логические, файловые операции и операции присваивания



<== предыдущая лекция | следующая лекция ==>
Larisa Petersen just ran this program | Операции сравнения Описание


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.073 сек.