История изменений
Исправление
gh0stwizard,
(текущая версия)
:
А что эти числа означают? (хеш в скалярном контексте)
Лучшее объяснение описано здесь: http://stackoverflow.com/questions/7427381/what-do-you-get-if-you-evaluate-a-...
Хэш это ассоциативный массив. Хэш-функция конвертирует ключ в число в качестве индекса элемента списка («bucket»), для которого записывается значение. Несколько ключей могут иметь одинаковый индекс (коллизия), ассоциативный массив учитывает данный случай.
Деноминатор (последнее число) указывает на общее количество «buckets». Аналог $count = () = %hash
Нумератор (первое число) число «buckets», которые имеют один или более элементов.
Для хэшей, у которых кол-во ключей равно кол-ву элементов, чем первое число больше, тем лучше. Например, 6/8 имеет меньше коллизий, чем 4/8.
Подробная статья о хэшах в перле: http://www.perl.com/pub/2002/10/01/hashes.html
P.S. Если много раз запускать скрипт выше, то можно заметить как первое число меняется от запуска к запуску.
Исходная версия
gh0stwizard,
:
А что эти числа означают? (хеш в скалярном контексте)
Лучшее объяснение описано здесь: http://stackoverflow.com/questions/7427381/what-do-you-get-if-you-evaluate-a-...
Хэш это ассоциативный массив. Хэш-функция конвертирует ключ в число в качестве индекса элемента списка («bucket»), для которого записывается значение. Несколько ключей могут иметь одинаковый индекс (коллизия), ассоциативный массив учитывает данный случай.
Деноминатор (последнее число) указывает на общее количество «buckets». Аналог $count = () = %hash
Нумератор (первое число) число «buckets», которые имеют один или более элементов.
Для хэшей, у которых кол-во ключей равно кол-ву элементов, чем первое число больше, тем лучше. Например, 6/8 имеет меньше коллизий, чем 4/8.
Подробная статья о хэшах в перле: http://www.perl.com/pub/2002/10/01/hashes.html