2016年6月8日

日記

なんか、しばしば ScalaTest で contain theSameElementsAs / theSameElementsInOrderAs が上手く動いてくれないことがあるんだが、何が原因なのかよくわからん。 Scala のバージョンとかがまずいのかなぁ。 別に Set や List に変換して equal で比べても問題ない(というかコードが短くなる)ことも多いのだが。

次数を指定して全順列を生成するコードを書こうとしてるんだが、イミュータブルで状態を持たないようなコードで末尾再帰なのを書くのがちょっと面倒。 というか、これらの条件より、次数が上がると爆発的に要素数が増える集合は遅延評価されるコレクションにしないと使い物にならんよな。 再帰関数で Stream オブジェクトってどう作るんだっけ(というか作れたっけ)? Stream#iterate() メソッドとか使って書くといいのかな? 一応、ある順列から辞書順序的に次の順列を生成するメソッドも前に書いたけど、これを繰り返して順列を生成していくコードって結構無駄な処理が多い気がするんだよなぁ。 とりあえず Stream の flatMap 使って書いてみたけど、なんか邪道な気がしないでもない。

今更なんだけど、『Re:ゼロから始める異世界生活』の OP ムービーって、このアニメの世界観にあわせてか「逆再生しても違和感がない」ように作られているという話があったそうだけど、それ聞いて見直してみたら全くそんなことなかった。 即座におかしいと思えるところは、向かい風に逆らって前進しているところかな。 他にもあるけど。 こういう話って、思いついたり聞いたりしたら、ちょっと見直してみようか、とか思わないもんなんかねぇ。 たった1分30秒の動画じゃん。 見直しておかしいと思えなかったんなら、それはそれでヤバイが。

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

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

Javaによるアルゴリズム事典

Javaによるアルゴリズム事典

ツイート (ツイート数 51)