ネタは「コードジェネレーション」。参考文献は 『Code Generation in Action』 by Jack Herrington。
しかし、コードジェネレーションっていうテクニックは 対象言語がRubyのような動的言語であればそれほど必要になることはない。 メタプログラミング機能を使った方が便利だし手軽だからだ。
Railsの用にコードジェネレーションとメタプログラミングの両方を活用するケースもあるけど。
で、今回はJavaのためのコードジェネレーションをRubyで行うという 話の流れにしようと思っているのだが、 いかんせん私のJavaの経験がほとんどないので 悩ましい。対象言語をCとかにしたいところではあるのだが、 Cにはマクロがあるのでけっこうカバーできちゃうしね。
苦手なテーマを選ぶと書くのに苦労する。 先週末は具合が悪かったから、なかなか進まなかったし。
This work is licensed under a Creative Commons License.
私はJavaのテストプログラムを書くのにRubyを使っています。YAMLでテストデータを書き、eRubyのテンプレートを通すとJUnitのテストプログラムができる寸法です。Javaはヒアドキュメントがないので、こうでもしないとやってられません。あとは、1.5より前のJavaにはenumがなかったので、enumに相当するコードを生成するスクリプトをRubyで作ってました。
kwatchさんのような人が増えるのが、今回の記事の目的です。<br>役に立つとよいのですが。<br><br>実物が出まわるのは1ヶ月後です。