質問: {}`のような形で定義されている?) クロージャを引数にとるクロージャであると理解しているのですが、正しいでしょうか。 正しい場合、 Groovy の公式ソースはどこを見ればこのメソッドについて説明が書いてあるでしょうか。 ("Groovy with" で検索するとノイズしかでてこないので、困っています。)
回答: `with`メソッドのAPIドキュメントのURLは次のとおり。 具体的な実装ソースは @argus 氏がコメントされているURLの先にあります。 with メソッドにかぎらず、GDK メソッドの大半はこの `org.codehaus.groovy.runtime.DefaultGroovyMethods` に実装されています。 `ExpandoMetaClass` と GDK メソッドの違いについては、以下の記述が参考になると思います。 Rubyist Magazine - 他言語からの訪問 【第 2 回】 Groovy (後編) > > Java 標準 API に対する Groovy 追加メソッド GDK (Groovy JDK) は、内部的にはカテゴリと等しい仕組みで実現されている。ただ、GDK は、Groovy コードから見るとコードの実行開始時には既にメソッドが追加されているし、プログラマからは与りしらない内部機構なので「動的メソッド追加」や「実行時メタプログラミング」には当らない。 > > >