sort
私は通常、以下の例に示すように、非常に有名な方法を使用してルビーハッシュをソートします。しかし、文字列キーにアンダースコアが含まれていると、これはひどく失敗します。例:
h = {"b" => 1, "a" => 2}
Hash[h.sort]
ハッシュを完全にソートします。しかし、ハッシュが次のような場合
h = {"b_d" => 1, "a_v" => 2}
希望の並び順になりません。ここで注意すべき点はh.sort
、ハッシュをソートしてEnumerable
オブジェクトを生成することです。しかし、 を使用してオブジェクトを Hash に戻すとHash[h.sort]
、ここで順序が失われます。より良いプロセスに関する提案があれば、役立つ可能性があります。
注:私は を使用してRuby 1.8.7
いるため、OrderedHash
私のレンズには があまりありません。