32nd Diary

トップ | 最新 | 過去の日記 | もっと過去の日記

2004年
8月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
めーるあどれす
ruby -rbase64 -e'puts Base64.decode64 %q(dGFrYW5vMzJAZ21haWwuY29t)'



2004-08-17 (Tuesday) [長年日記]

[Java] Groovyでevalってみた.

昨日,8/8にトラックバックがあり,その関連で,ふとGroovyのevalを実際に使ってみようと思った.

ちなみにEmbedding APIs of Java-Based Scripting Enginesというところを参考にした.

value = <<<'VALUE'
array = [1, 2, "hoge", "fuga"]
array.each { item |
print "\${item}-"
}
VALUE
 
GroovyShell gs = new GroovyShell();
Object result = gs.evaluate(value);

まぁ,コード自身はそれほど難しいものではないのですが...

なぜか,${item}ではダメで,\${item}と書かなければならない.

普通,'で囲ったヒアドキュメントって${}の部分は展開しないはずなんですが,nullに展開されちゃいましてね.

これはバグ?仕様?

まぁ,evalはできるわけですね.動的なクラスの定義などもできるだろうから,データベースアクセスクラスなんかを扱うのが楽そうだ.

本日のPingbacks(全0件)