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

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

by 松房 一郎 :: Rate this Message:

Reply to Author | View in Thread

OrderedHash.new()にArrayを渡せるようにしておけば
OrderedHash.new([1. "One", 2, "Two"])
という書き方でリテラルもどきにできます。メリットは、
- リテラルと同様にオブジェクトの値がプログラムソースでわかる
- 文法の拡張は不要なので、下位互換性を維持できる

Akinori MUSHA さんは書きました, (2007/08/21 21:47):
 >  リテラル表現を用意すると、バックポートしない限り下位互
換性を

> 失いますが、それはさておき。
>
>  [ x1 => y1, ... ] だと順序付きマップを生成するとか?これは今は
> [{ x1 => y1, ... ]} と解釈されますが、文法的には配列と区別可能。
>
>  Set もそろそろ組み込みに…。こちらはもちろん { x, y, z, w }。
> わかりにくいか! (j/k)
>
>
>  %m{ x1 => y1, ... } みたいなのもないことはないと思います。
>
>
>  が、そもそもリテラル記法が必要なほど多用されるかどうか。
>


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