« Return to Thread: [ruby-list:43857] Hashへの生成順は保障されないのか?

[ruby-list:43886] Re: Hashへの生成順は保障されないのか?

by Kazuhiro NISHIYAMA :: Rate this Message:

Reply to Author | View in Thread

西山和広です。

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)

 « Return to Thread: [ruby-list:43857] Hashへの生成順は保障されないのか?