From: Fujioka Date: 2006-06-13T08:41:46+09:00 Subject: [ruby-list:42403] Re: eachはなぜ元々のオブジェクトが返るのか? おはようございます、ふじおかです。 > each は、Array だけでなく、他にも色々使われますよね。 > たとえば、Hash クラスのインスタンスで each が使われた時、 > 何が返る(べき)か、と考えてみると、参考になるかも知れません。 > Hash の each で、仮に Array の map と同じような戻り値にするなら、 > 各ループで「生成された」Hash の集合体の Hash を返すことになりそう > ですが……、それがどういうものかは、全然、自明ではないですよね。 > 確かに自明ではないです。でも、全部同じくブロックの値を 配列で返してもいいのではないかと思いました。 > # 僕は、each の戻り値を気にしたことはありませんでした。 > # それで想定された使い方だったと分かったのは収穫でした (^^) > 自明ではないのですが、利用している人もいないだろうから、 mapの役割を担ってもいいのではないかと思った次第でした。 んで、結論はenumrateを使えということなので、 そうすることにします。とりあえず便利に使えればいいので。^^;