groovyには、単一のクロージャーでインターフェイスを実装するイディオムがあります。クロージャは、渡された引数が何であれ処理する準備が必要です。それはうまく動作します。しかし、どのメソッドがインタフェースで呼び出されたかはどのように決定されますか?Groovyでクロージャを使用したインタフェースを実装する - どのメソッドが呼び出されましたか?
interface X
{ void f(); void g(int n); void h(String s, int n); }
x = {Object[] args -> println "method called with $args"} as X
x.f()
argsは利用可能ですが、呼び出されたメソッドの名前は明らかにそうではありません。何か不足していますか?
外部リンクはもう存在しません。 – m0skit0