как работает метод .hash string? - PullRequest
8 голосов
/ 24 марта 2010

Я просто новичок в рубине. Я видел строковый метод (String) .hash.

Например, в irb я пробовал

>> "mgpyone".hash

возвращает

=> 144611910

как работает этот метод?

1 Ответ

11 голосов
/ 24 марта 2010

Метод hash определен для всех объектов. См. документацию :

Создает для этого хеш-значение Fixnum. объект. Эта функция должна иметь свойство, которое a.eql?(b) подразумевает a.hash == b.hash. Значение хеша используется классом Hash. Любое хеш-значение, которое превышает способность воли Fixnum быть усеченным перед использованием.

Таким образом, метод String.hash определен в C-Code . В основном (упрощенно) он просто суммирует символы в этой строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...