ruby で enum
遅レス。経由、ささださんによる ruby の enum。enum の定義はテキストリテラルにしておいて、それをパースするというやりかたが目からウロコ。以前も自分で似たようなのを実現したいと考えたことがあったのだけど、うまくデザインできなかった。勉強になる。
で、使い道の話。
RubyCocoa で AppKit と Foundation 以外のフレームワークを使おうとするときには、
- 拡張ライブラリを書く
- addressbook.rb や coredata.rb のように ruby で書く
のどちらかになると思う。後者の ruby コードを och_analyzer3.rb を使って生成できないかなあというのが長年の(いいすぎ)個人的な懸案のひとつなのだ。今は enum はすべての値を書かないといけない(ただの定数なので、あたりまえ)のだけど、これを利用すると元の C ヘッダとほとんど同じように書けるようになる。