Groovyオペレータ.&
を理解すると、メソッド呼び出しをクロージャに変換することになります。 (Groovy consoleで実行することができます)、次のコードは動作するはずのようなので、それはそうです:もちろんメソッドをクロージャとして呼び出す
class Foo {
def method(def param) {
param + 10
}
}
def invokeClosure = {Closure closure ->
return closure.call()
}
def f = new Foo()
invokeClosure f.&method(6)
私は
invokeClosure {f.method(6)}
に最後の行を変更した場合、それは正常に動作しますが、何がと間違っています.&
オペレータの私の理解?
おかげで、
ドン
実際には、厳密に私が考える言えば '{f.method(6)}' '一方つのパラメータをとるクロージャである{ - (6)> f.method}' NOのparamsをとらない閉鎖です。しかし、素晴らしい答えです、ありがとう! –