文字列でいっぱいのルビー配列のコンシステントハッシュをどのように作成できるのだろうか。要件は、配列に同じ値が含まれている場合、それらの順序に関係なく、ハッシュが常に同じであるということです。
>> a = ["a", "b", "c", "d"]
>> SomeModule.hash(a)
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
>>
>> b = ["d", "b", "c", "a"]
>> SomeModule.hash(b)
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
>>
>> SomeModule.hash(a) == SomeModule.hash(b)
=> true
Zlibまたはダイジェストは文字列のみを実行しますが、それを機能させるには、常に配列を並べ替えて結合する必要がありました。
それで、もっと良いものはありますか?