水曜日, 6月 06, 2007

string.Template

最近よく使うので、未来の自分に向けてメモ

>>> import string
>>> mytemp = string.Template('hoge.get$var();')
>>> print mytemp.substitute(var='Foo')
hoge.getFoo();
>>>

Python使ってJavaのコードを書かせている訳ですね。もちろん一個だけの変数に対してやるなんてことはなく、実際には変数のリストを作ってforで回したり、変数名の頭を大文字にしたりします。
こういうことをやらないといけないくらい、クラスあたりの変数が多いのが問題と言えば問題なのですが、対象クラスをいじっちゃ駄目という縛りがあったりするのですよ。

リフレクションとかを使えば、Java内で収めることも出来るんでしょうな。パフォーマンスの問題を考えると現実的ではないだろうけど。

0 件のコメント: