Что такое Perl-эквивалент Ruby "foo" .hash? - PullRequest
3 голосов
/ 10 января 2010

Метод hash для строки Ruby возвращает число на основе длины и содержимого строки:

>> "foo".hash
=> 876516207

Что такое эквивалент в Perl?

Ответы [ 3 ]

5 голосов
/ 10 января 2010

Если вы хотите получить дайджест произвольной строки, проверьте модуль Дайджест на CPAN, который поддерживает MD5 и SHA1 / 2. Вы можете усечь результат для любого необходимого количества символов.

3 голосов
/ 10 января 2010

Вы также можете взглянуть на исходный код Ruby, чтобы увидеть, как генерируется хеш для объектов String, если вы хотите написать что-то подобное в Perl. Результирующий хеш является функцией длины и содержимого строки и вычисляется в rb_str_hash () .

2 голосов
/ 10 января 2010

Просто из любопытства, для чего вы собираетесь использовать хеш? Модуль Digest, вероятно, достаточно хорош для большинства целей, но в некоторых случаях вы можете захотеть накатить свои. Редко, но возможно.

...