«前の日記(2006年01月24日) 最新 次の日記(2006年01月26日)» 編集

Matzにっき


2006年01月25日 [長年日記]

_ [Ruby] 遅延Enumerable

ところで、現在Enumerable#selectなど一連のメソッドは Arrayを返しているわけだが、 これをEnumeratorを返すようにすると、一種の遅延実行が実現できるのではないだろうか。

イテレーションの中でしか実行できないので、 関数型言語における遅延実行のようなわけにはいかないけれども。

要素数が非常に多くなると効率に違いが出てくるかもしれない。 無限な要素([1..]とか)も扱えるようになる。

とりあえず、将来への布石として 1.upto(3)などをブロックなしで呼んだときにはEnumeratorを返すようにする。

うーん、あんまり布石になってないかな。


«前の日記(2006年01月24日) 最新 次の日記(2006年01月26日)» 編集