From: Yusuke ENDOH Date: 2010-03-23T21:43:11+09:00 Subject: [ruby-dev:40737] Re: [Feature #2673] the length for an enumerator generated by Array#permutation and Array#combination 遠藤です。 2010年3月23日11:28 Urabe Shyouhei : > Kenta Murata さんは書きました: > >>> やるとしたら、length は「Enumerator 生成時での長さを返す」と揃えるのが >>> いいのではないでしょうか。 >> >> 良いと思います。 いやあ、気分は良くないですよね。自分で言っといて。 > おおもとの前提条件である > >> Array#permutation と Array#combination が生成する enumerator >> は要素数が確定できますが、 > > に疑問が投げかけられているのだと思いましたが。 そういう意図はなかったのですが、言われてみればそんな気がします。 > そしてto_aすれば要素数の変化には > (Arrayのコンテクストで)対応できるわけだから、「lengthが知りたければArrayにせ > よ」というのはそれなりに妥当な指針なようにも思うのですけども。 この指針は実用上不便すぎるので、長さを前もって知る方法があれば いいなあとは思います。しかしそのために手間がかかるのであれば、 需要とのトレードオフですかね。 「長さを前もって知りたい」という需要はどのくらいあるんでしょう。 Array が frozen の時だけ length がわかる、とかどうかなあ。 ほとんど隠し機能になっちゃうか。 -- Yusuke ENDOH