Ниже обзор наиболее интересных реализаций Perl хэшей:
- Tie::Hash::Approx (http://search.cpan.org/dist/Tie-Hash-Approx) - если элемент хэша не найден, то осуществляется попытка вернуть значение наиболее похожего ключа;
- Tie::AliasHash (http://search.cpan.org/dist/Tie-AliasHash/) - оптимальный вариант хэша, когда одно и тоже значение имеет множество ключей;
- Tie::Hash::Expire (http://search.cpan.org/dist/Tie-Hash-Expire/) - хэш с заданием времени жизни записи, облегчает организацию кэширования;
- Bloom::Filter (http://search.cpan.org/dist/Bloom-Filter/), Bloom16 (http://search.cpan.org/dist/Bloom16), Text::Bloom (http://search.cpan.org/dist/Text-Document/) - позволяют, с минимальным потреблением ОЗУ, используя вероятностную оценку, определить наличие ключа в хэше, представляющем собой множество очень большого размера (без реального сохранения всех записей);
- Tie::Hash::Regex (http://search.cpan.org/dist/Tie-Hash-Regex) и Tie::RegexpHash (http://search.cpan.org/dist/Tie-RegexpHash/) - возможность использования регулярных выражений для выборки ключей;
- Tie::SortHash (http://search.cpan.org/dist/Tie-SortHash/) - хэш хранящий ключи в отсортированном виде. Tie::Hash::Rank (http://search.cpan.org/dist/Tie-Hash-Rank) - обратный случай, когда элементы сохраняются отсортированными по данным, которые ассоциированы с ключом. Tie::InsertOrderHash (http://search.cpan.org/dist/Tie-InsertOrderHash) и Tie::Hash::Indexed (http://search.cpan.org/dist/Tie-Hash-Indexed) - сортировка в порядке вставки элементов;
- Tie::RangeHash (http://search.cpan.org/dist/Tie-RangeHash) - в качестве ключа выступает числовой промежуток, например от 1 до 5 ="a", от 6 до 10 = "b";
URL: http://search.cpan.org/dist/Tie-RangeHash
Новость: http://www.opennet.me/opennews/art.shtml?num=4402
а дизьнкции двух хешей никто не встречал??
>а дизьнкции двух хешей никто не встречал??если не секрет, что это за слово такое страшное - дизьнкция? :)
// wbr
видимо имелась виду дизъюнкция
извеняюсь
совершенно верно имелась ввиду именно дизъюнкция !!
но сути вопроса это не меняет!!
даже в ПХП есть а в перле найти не удалось:(
Объясни, как ты будеш делать эту самую дизъюнкцию на _НЕ_УПОРЯДОЧЕННОМ множестве ?
на НЕ_УПОРЯДОЧЕННОМ множестве дизъюнкцию сделать можно, но вот на неупорядоченном мультимножестве (кое хэш представляет) я такое представить не могу
ну на счёт дизьюнкции я наверное погорячился
я имел ввиду ф-ции типа array_diff, array_intersect
Зачем включать в основной язык функции, которые пишутся в 2-3 строчки??? Если этим страдает сообщество ПХП (самому приходится им часто пользоваться), то это не повод для копирования.