From: Kenta Murata Date: 2010-03-22T23:36:31+09:00 Subject: [ruby-dev:40729] Re: [Feature #2673] the length for an enumerator generated by Array#permutation and Array#combination むらたです。 On 2010/03/22, at 12:42, Yusuke ENDOH wrote: > 2010年3月14日13:05 _ wanabe : >> Enumerator#length は、一般に定義されていた方がなにかと便利な気がします。 >> また、同じクラスのオブジェクトが NoMethodError を起こしたり起こさなかったりするのは >> 少し分かりにくいので、なるべくなら避けた方がいいように思います。 >> 長さが定義できないものについては、RuntimeError にするか nil を返すのはどうでしょうか。 >> >> とりあえず nil を返すようにして、ついでだったので例として Array#each についても >> 長さを返すようにしたパッチを書きました。 >> enumerator_length() を工夫すれば他にも応用できるようにしました(というつもりです)。 > > > length が Enumerator 生成時に確定できる場合はどのくらいあるんでしょう。 > Array#each でも、元配列が書き換えられた場合を考えると困ります。 snip > やるとしたら、length は「Enumerator 生成時での長さを返す」と揃えるのが > いいのではないでしょうか。 良いと思います。 -- Kenta Murata OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC 本を書きました!! 『Ruby 逆引きレシピ』 http://www.amazon.co.jp/dp/4798119881/mrkn-22 E-mail: mrkn@mrkn.jp twitter: http://twitter.com/mrkn/ blog: http://d.hatena.ne.jp/mrkn/