uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

2008-03-23から1日間の記事一覧

なぜJVM上のスクリプト言語が必要か

理由を3つ上げてみます。 (1)Javaに欠けている、「実行時(運用時)に変化する部分の記述」機能のため。従来はXMLで実現されてきましたが、XMLは基本的に可読性も低劣だし、木構造以外を表現できないため表現力に劣ります。コンパイルレスでそこらへんの可変…

Expando MetaClassとは何か

Groovyでは動的にメソッドを付け足したりする方法がいくつかある。MetaClassは従来からあるそのような仕組みの一つである。しかし、従来はinvokeMethodをオーバーライドしたりする必要があり、面倒であった。これをExpandoのように、つまりマップの様に簡単…

Expandoとは何か

Expandoはマップの様に動作するオブジェクト(orオブジェクトの様に動作するマップ)である。マップの要素にクロージャを代入するとメソッドの様に動作する。マップの要素に値を代入すると、そのフィールドがあるかのように動作する。Expandoはas演算子により…