Ruby 初心者スレッド Part 39
■ このスレッドは過去ログ倉庫に格納されています
0383デフォルトの名無しさん
2010/11/05(金) 22:21:18ブロック省略でEnumeratorを返す方針?になってるので
selectやmapでは意味のあるEnumeratorを返せないことになってしまってるのがすごく残念
ためしに、引数でProcを与えてブロックを省略するとEnumeratorを返すようにしてみたら
(Ruby1.9で)素数を二乗したもののうち1000を超えるのを小さいほうから10個得るとかがこう書ける
require 'prime'
p Prime.instance.map(->x{x**2}).select(->x{x>1000}).take(10)
しかし、ブロックを使わないのはRuby的じゃないなぁ
常にEnumeratorを返す別メソッドを作るのとどちらがいいのか
それと、EnumerableにもArray#productみたいなのが欲しい
Pythonみたいなネストした内包表記やジェネレーター式みたいなのが書きにくい
ついでに、Enumeratorでも列挙数が固定されているものはsizeを取得できるようにならんかな
■ このスレッドは過去ログ倉庫に格納されています