2017-01-01: あけましておめでとうございます
あけましておめでとうございます。今年もよろしくお願いします。
やったこと
普通にCrystalにPull Request出してた。
Iterator#with_index(&block)がメモリを確保しないようにした
なんか手元のCrystalのリポジトリ見たらあったのでPull Requestを送っておいた。いつやったんだっけ? 大分前から問題としては認識してたんだけど、なんとなく放置してた気がする。
というかどうしてこのコードがマージされていたのかが謎。classをnewしてるんだから止めろよ。
eachとかeachっぽいメソッドはレシーバーを返すようにした
Fix each* methods to return self by MakeNowJust · Pull Request #3815 · crystal-lang/crystal
地味に面倒だった。grepかけてチェックしていくだけだけど。テストが雑な気がする。
ちなみにEnumerable#each_consとかはnilを返すまま変更してない。というのもRubyがそうだったから。でもどうしてそうなってるんだろう? 別にレシーバー返してもよくない?
やること
今年の抱負的なことは明日書きます。あとパーフェクト・ブルー観たい。