Map

Rubyで、Hash*1に順序がつくという実装になるかもしれないという話を聞きました。

自分も色々考えた結果、「Mapは順序付きの方が使い勝手が良い」という結論に達し、XtalのMapは順序付きであることを保証することにしました。
ここでの順序とは、登録した順です。リテラルで登場した順。

["e":"test", "7":"eaewr", 5:"ee"].to_a.p; //=> [[e,test],[7:eaewr],[5:ee]]

// to_mというメソッドも追加
["e":"test", "7":"eaewr", 5:"ee"].to_a.to_m.p; //=> [e:test,7:eaewr,5:ee]

将来は、フラグで

  • 順序付けしない
  • 任意の順序付けが出来る

ようにしようかとも考えてます。

*1:XtalではMapという名前