LINUX.ORG.RU

История изменений

Исправление 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