日記(5/17)

ごろごろしながらニコニコ動画を見ていた.

飽きたのでおもむろにThe Rust Programming LanguageのTrait Objectの章を読んだ.Rustにおいてジェネリックな関数はコンパイル時に型引数をもとにして具体的な型に対するコードに変換されるので抽象化のコストがない(ゼロコスト抽象化).ところでVec内の型というのはすべて同じである必要がある.しかし実際には同じtraitをもつ様々な型の要素を詰めたいことがある(TRPLにはGUIライブラリのコンポーネントとしていろいろな図形をVecにまとめる例が挙げられていた).そんなときに使われるのがtrait objectが使われるらしい.まだ使いどころが巡ってはこなさそうな気がしている.

TLでここ数日よく見るのでおもしろそうだと思っていきなりコドゲを始めた.いまはパックマンのゲームAIを作るやつをやっている.初めて出たけど最初に思いついた比較的楽な解法をびゃっと書いてみると案外ブロンズまで行けてしまった.たのしい.

ブロンズに上がるとルールが追加されてスコアを上げるのが難しくなってしまった.なんか暑くて集中できないし明日やる気があったら続きをやるかもしれない.