Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Perl / Для начинающих /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Функции обработки ассоциативных массивов - Программирование от RIN.RU
Функции обработки ассоциативных массивов

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


Функция KEYS


Функция keys возвращает значения ключей, которые отвечают ассоциативному массиву. Она имеет следующий формат:


@key_list = keys(%Array);


Функция keys возвращает массив ключей в виде регулярногосписка. Следующий фрагмент программы иллюстрирует использование функции keys:


$ages{"Bob"} = 25;
$ages{"Mary"} = 30;
$ages{"Zack"} = 15;
@list = keys(%ages); # @list будет "Zack", "Bob", "Mary"
@list = sort keys %ages # @ list "Bob", "Mary", "Zack"
for $key (sort keys %ages)
{
print "$key is $ages{$key}\n"
}


Функция VALUES


Функция values возвращает обычный массив, состоящий из значений ассоциативного массива. Она имеет следующий формат:


@value_list = values(%Array)


Функция values возвращает массив значений ассоциативного массива в виде регулярного списка. Следующий фрагмент программы иллюстрирует использование функции values:


# Используем значения из предыдущего примера
%ages = ("Bob", 25, "Mary", 30, "Zack", 15);
@list = sort values %ages; # @list (15, 25, 30)
@list = %ages; # @list ("Zack", 15, "Bob", 25, "Mary", 30)


Функция EACH


Функция each осуществляет итерации элементов в ассоциативном массиве. Она имеет следующий формат:


@key_values = each(%Array);


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


# Используем значения из предыдущего примера
%ages = ("Bob", 25, "Mary", 30, "Zack", 15);
while (($name, $age) = each %ages)
{
# Выведем ages
print "$key is $ages{$key}\n";
}


Функция DELETE


Функция delete удаляет элементы ассоциативного массива. Она имеет следующий формат:


Delete $Array{Key}


Следующая инструкция использует функцию delete для того,чтобы удалить элемент, отвечающий ключу Bob из ассоциативного массива $Employees:


Delete $Employees{"Bob"}



 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Встроенные функции

Использование отладчика PERL

Типы данных в PERL

Переменные

Операторы PERL

Конструкции языка PERL

Подпрограммы

Обработка строк

Обработка списков

Работа с массивами

Файловый ввод и вывод

Обработка бинарных данных

Работа с каталогами

Форматированный вывод

Регулярные выражения

CGI-скрипты при помощи PERL

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь