From: Kazuhiro NISHIYAMA Date: 2007-08-21T10:41:07+09:00 Subject: [ruby-list:43886] Re: Hashへの生成順は保障されないのか? 西山和広です。 At Tue, 21 Aug 2007 08:14:22 +0900, Masahiro Utsumi wrote: > > 私も順序を保存してもらえたらうれしいことはよくあります。 > たとえばRailsなどでドロップダウンリストの要素を記述すると きに > ITEMS = { > "jp" => '日本', > "us" => 'アメリカ', > "other" => 'その他' > }.freeze > を引数として渡すような用途です。 > > しかしながら、HASHはダイナミックに増えたり減ったり、伸びた り縮んだり、 > 変わったりします。Hashの要素がHashだったりしますし、 内容がどんどん変化 > しているものの順序を保持するのは実装するにあたりオーバーヘッドが > 掛かりすぎるのではないでしょうか。順序が必要であれば配列の中に Hashなり > 配列をいれるとか、オーバラップクラスを作って実装する今のやり方で > なんとかやりくりできるのではないでしょうか。 Railsなら ActiveSupport::OrderedHash を使うのはどうでしょうか? -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)