Есть ли хеш-реализация, которая не помнит значения ключа? Я должен сделать гигантский хеш, но мне все равно, что это за ключи.
Edit:
Реализация хэша в Ruby хранит значение ключа. Я хотел бы хэш, который не помнит значение ключа. Он просто использует хеш-функцию для хранения вашего значения и забывает ключ. Причина этого заключается в том, что мне нужно создать хеш для примерно 5 ГБ данных, и мне все равно, какие значения ключей после его создания. Я только хочу иметь возможность искать значения на основе других ключей.
Редактировать Редактировать:
Язык немного запутанный. Под значением ключа я подразумеваю это:
hsh ['value'] = данные
Меня не волнует, что такое «значение» после того, как хеш-функция хранит данные в хэше.
Редактирование ^ 3
Хорошо, вот что я делаю: я генерирую каждый 35-буквенный (нуклеотидный) кмер для набора из нескольких генов. Каждый ген имеет идентификатор. Хеш выглядит так:
kmers = { 'A...G' => [1, 5, 3], 'G...T' => [4, 9, 9, 3] }
Таким образом, хеш-ключом является kmer, а значением является массив, содержащий идентификаторы для гена (-ов) / string (s), которые имеют этот kmer.
Я запрашиваю хеш для kmers в другом наборе данных, чтобы быстро найти подходящие гены. Мне все равно, что такое хеш-ключи, мне просто нужно получить массив чисел из кмера.
>> kmers['A...G']
=> [1, 5, 3]
>> kmers.keys.first
=> "Sorry Dave, I can't do that"