From: nobu.nakada@... Date: 1999-10-24T07:12:34+09:00 Subject: [ruby-dev:8110] Re: [ruby-list:17940] Enumerable#collect なかだです。 At Sat, 23 Oct 1999 22:07:33 +0900, EGUCHI Osamu wrote: > なるほど、これだと、 > > return self.dup if self.is_a? Array > > に相当する部分が、がありませんが、 > ここの dup の必要性は議論の余地がありますね。 > ここに dup が要るのであれば、 Array#to_a にも > dup が要る様な気がします。 to_a/collect は必ず新しい Array に push していきますから dup は いらないと思います。 > 名前の問題でもあるのですが、 > to_a に ブロックを渡すと言う発想は今までなかったわけで、 > collect なのか to_a なのかとは別に、有用な機能だと思います。 つーか、ブロックを渡すときは collect で、って状態ですね。さらに いえば、collect がブロックをとらなくても良くて、to_a がブロックを とっても良いとなれば、これはもう単なる alias でしょう。 > さらに to_a の議論を発展させると、全てのクラスの to_a にブロックを渡し、 > (今まで暗黙だった)配列化の実装をユーザの裁量に任せると言う事も、 > 状況によっては、有意義だと思います。 > > また、さらに拡大すると、to_i, to_f や to_s にブロックを渡すのも、、、 > 、、ここまでイテレータにするとやりすぎ? to_* というのは、そのオブジェクトだけで処理できるはずという、もっ と閉じたメソッドだと思います。再定義するとかならともかくイテレー タはヘンじゃないでしょうか。 -- そうだ 強気に ちょっと インチキに☆彡 中田 "Bugるくらいがちょうどいいかも;-)" 伸悦