logo       

[ruby-list:42402] Re: eachはなぜ元々のオブジェクトが返るのか?: msg#00056

lang.ruby.japanese

Subject: [ruby-list:42402] Re: eachはなぜ元々のオブジェクトが返るのか?

坂野 正明です。

At Mon, 12 Jun 2006 22:54:24 +0900,
Fujioka <fuj-3fD1nXHgCn54Eiagz67IpQ@xxxxxxxxxxxxxxxx> wrote:
> 前から思っていたのですが、eachはなぜオブジェクトそのものが
> 返るんだろうかと思いまして。
> 主張を先に言いますと、eachがブロックの最後の値が配列で返ったら、
> mapなんぞはいらないのになと思いまして。

each は、Array だけでなく、他にも色々使われますよね。
たとえば、Hash クラスのインスタンスで each が使われた時、
何が返る(べき)か、と考えてみると、参考になるかも知れません。
Hash の each で、仮に Array の map と同じような戻り値にするなら、
各ループで「生成された」Hash の集合体の Hash を返すことになりそう
ですが……、それがどういうものかは、全然、自明ではないですよね。

# 僕は、each の戻り値を気にしたことはありませんでした。
# それで想定された使い方だったと分かったのは収穫でした (^^)

坂野 正明





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise