From: matz@... (Yukihiro Matsumoto) Date: 2002-01-07T15:10:42+09:00 Subject: [ruby-dev:15651] Re: Enumerable#to_hash (Re: [ruby-talk:30339] Re: OT: Re: Sorting a Hash by value of integer stored in the Hash) まつもと ゆきひろです In message "[ruby-dev:15650] Re: Enumerable#to_hash (Re: [ruby-talk:30339] Re: OT: Re: Sorting a Hash by value of integer stored in the Hash)" on 02/01/07, nobu.nakada@nifty.ne.jp writes: |> * to_hashはto_strと同様の目的ですでに予約されている | |今のところそれをサポートしてるのがHash自身とENVだけなので、ちょっ |と寂しいかなと。 えーと、ここでEnumerableにto_hashを定義しちゃうとEnumerable はすべからくHashとして適用可能になっちゃいますが、それはあま り望ましくないと思うのです。to_sはだれもが持ってても、to_str の提供には慎重になってほしいのと同じ程度には。 すくなくとも私にはEnumerableすべてがhash化可能には思えません。 |前者にはHash[*obj]が使えるので、後者でいいのではないかと思って |ます。#to_hash.to_aと#to_aが順序以外は一致するということで。 でも、そうするとますますEnumerable一般の性質ではないですよね。 Enumerableのうち[key,value]の組を返すもの限定のメソッドとい うことなのでしょうか。まあ、すでに要素が比較可能なもの限定の メソッドとかありますけど。 |> * それが本当にEnumerableの性質なのか自信がない | |EnumerableからHashを作る方法としては、それほど不自然ではないと |思うのですが。 EnumerableからHashを作ることが本当に一般的なEnumerableの使い 方の一部なのか私にはまだ確証がありません。どちらかというと否 定的です。 まつもと ゆきひろ /:|)