2016年5月3日

日記

指定した個数の置換を生成するコード、一応小さい整数については動くコード書けたけど、10くらいですでにメモリ足りなくなってしまう状況に。 末尾再帰にはしてるのだが、途中の flatMap で鬼のような要素数の Seq を生成してるのが原因っぽい。 ということで Scala の SeqLike#permutations の実装を参考にしようと見てみたら(Scala のコードって scaladoc から簡単に閲覧できるのね。 便利。)、普通に var のある Iterator 書いてやんの(笑) いやまぁ、いいんだけど。 こんにゃろっ!と思って元のコードを修正できないかと思ってたら、Seq として Stream オブジェクト使ったら解決した。 遅延評価素ん晴らしい!
Scalaスケーラブルプログラミング第2版

Scalaスケーラブルプログラミング第2版

ツイート (ツイート数 48)