2023-11-29: RPrecを公開した
やったこと
RPrec
演算子の優先順位を使ったパーサーの実装。
前々から作っていたもので、名前は公開にあたって適当に付けた。
https://github.com/makenowjust/rprec
実装をまとめてGemとして公開したので、インストールすれば使える‥‥はず。
あまり自分以外の人間が使うことを考えていない。
公開するということでSteepで型チェックをしてみている。
テストまで型チェックしているのは珍しいと思う。
Steepを使ってみた感想は、想像よりは上手く動くけど、既存のコードに入れるのは大変だろうな、という気持ち。
今回は高々1000行程度だったし、元々YARDのコメントで型を考えていたので、気合いで型を付けられたけど、そうじゃないと大変そう。
あと、型推論がTypeScriptとかと比べると微妙なので、ループが絡むとnil
が上手く排除できないことがあって辛い。
そういうときは最悪 untyped
で誤魔化せばいいのだけど、それもキャストの構文が無い弊害で、変数に代入するのを経由したりする必要があったりするのが難しい。
何はともあれ公開したので、あとはこれの解説を書きたい。
OCG
カードの整理をして、手持ちのヌーベルズが何枚ずつあるか確認していた。
ヌーベルズのフィールド魔法が見つからない。
何故‥‥。