как .hash представляют работу метода в виде строки?

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

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

>> "mgpyone".hash

возвраты

=> 144611910

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

8
задан Ye Lin Aung 24 March 2010 в 07:42
поделиться

1 ответ

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

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

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

11
ответ дан 5 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: