タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

groovyとExpandoに関するkanemu1117ncのブックマーク (1)

  • Expandoとは何か - uehaj's blog

    Expandoはマップの様に動作するオブジェクト(orオブジェクトの様に動作するマップ)である。マップの要素にクロージャを代入するとメソッドの様に動作する。マップの要素に値を代入すると、そのフィールドがあるかのように動作する。Expandoはas演算子によりマップからas演算子で変換することで生成可能(Expandoから継承した新たなクラスを作っても良いけどマップから変換したほうが簡単)。 マップの要素に代入したクロージャのスコープはもともとのレキシカルスコープに加えて、Expando内のメソッド名やフィールド名が見えるようになる(delegateに割り当てられる)。 まとめると、Groovyでは来オブジェクトとマップは別物なのだが、それを混同できるようなオブジェクトがExpando。ちなみにJavaScriptのオブジェクトはもともとこんな風になってる(すべてがExpando)。 例

    Expandoとは何か - uehaj's blog
  • 1