2008-03-23から1日間の記事一覧
理由を3つ上げてみます。 (1)Javaに欠けている、「実行時(運用時)に変化する部分の記述」機能のため。従来はXMLで実現されてきましたが、XMLは基本的に可読性も低劣だし、木構造以外を表現できないため表現力に劣ります。コンパイルレスでそこらへんの可変…
Groovyでは動的にメソッドを付け足したりする方法がいくつかある。MetaClassは従来からあるそのような仕組みの一つである。しかし、従来はinvokeMethodをオーバーライドしたりする必要があり、面倒であった。これをExpandoのように、つまりマップの様に簡単…
Expandoはマップの様に動作するオブジェクト(orオブジェクトの様に動作するマップ)である。マップの要素にクロージャを代入するとメソッドの様に動作する。マップの要素に値を代入すると、そのフィールドがあるかのように動作する。Expandoはas演算子により…