Perl. Библиотека программиста
Хэши
Требуется добавить в хэш новый элемент.
Требуется узнать, содержит ли хэш конкретный ключ независимо от ассоциированного с ним значения.
Требуется удалить элемент из хэша, чтобы он не опознавался функцией
keys,
values или
each.
Например, если в хэше имена работников ассоциируются с окладами, после увольнения работника
необходимо удалить его строку из хэша.
Требуется выполнить некоторые действия с каждым элементом (то есть парой «ключ/значение») хэша.
Требуется вывести содержимое хэша, однако конструкции
print "%ХЭШ" и print %ХЭШ не работают.
Функции
keys и
each извлекают элементы хэша в довольно странном порядке.
Вы хотите получить элементы в порядке вставки.
Требуется хранить в хэше несколько значений, ассоциированных с одним ключом.
Хэш связывает ключ с ассоциированным значением.
У вас имеется кэш и значение, для которого требуется определить ключ.
Требуется работать с элементами хэша в определенном порядке.
Требуется создать новый хэш, содержащий элементы двух существующих хэшей.
Требуется найти в хэше ключи, присутствующие в другом хэше, — или наоборот, не входящие в другой хэш.
Если функция keys вызывается для хэша, ключи которого представляют собой ссылки,
то возвращаемые ей ссылки не работают. Подобная ситуация часто возникает при создании
перекрестных ссылок в двух хэшах.
Требуется заранее выделить память под хэш, чтобы ускорить работу программы — в этом случае Perl не
придется выделять новые блоки при каждом добавлении элемента. Окончательный размер хэша часто
бывает известен в начале построения, и эта информация пригодится для повышения быстродействия.
Имеется сложная структура данных (например, массив или хэш). Требуется узнать, как часто в
ней встречается каждый элемент массива (или ключ хэша). Допустим, в массиве содержатся сведения о
транзакциях Web-сервера и вы хотите узнать, какой файл запрашивается чаще остальных.
Или для хэша, в котором имя пользователя ассоциируется с количеством регистрации в системе,
требуется определить наиболее распространенное количество регистрации.
Требуется представить отношения между данными — например, отношенш «предок/потомок» в
генеалогическом дереве или «родительский/порожденный процесс» в таблице процессов.
Задача тесно связана с представлением таблиц в реляционных базах данных (отношения между записями)
и графов в компьютерных технологиях (отношения между узлами графа).
Нет комментариев.
Оставить комментарий:
|
|