19
1つの引数(私がit
を参照しています) を参照するクロージャを定義したいときに、別の引数をクロージャに渡したいことがあります。 どうすればいいですか?オプション引数付きのGroovy Closure
1つの引数(私がit
を参照しています) を参照するクロージャを定義したいときに、別の引数をクロージャに渡したいことがあります。 どうすればいいですか?オプション引数付きのGroovy Closure
あなたは(NULLなど)のデフォルト値への第二引数を設定できます
def cl = { a, b=null ->
if(b != null) {
print "Passed $b then "
}
println "Called with $a"
}
cl('Tim') // prints 'Called with Tim'
cl('Tim', 'Yates') // prints 'Passed Yates then Called with Tim
別のオプションは、可変引数リストので、同じようb
を作るために次のようになります。うまくいけば、この
def cl = { a, ...b ->
if(b) {
print "Passed $b then "
}
println "Called with $a"
}
cl('Tim') // prints 'Called with Tim'
cl('Tim', 'Yates') // prints 'Passed [Yates] then Called with Tim
cl('Tim', 'Yates', 'Groovy') // prints 'Passed [Yates, Groovy] then Called with Tim
助けてください
def clr = {...a ->
print "Passed $a then "
enter code here
}
clr('Sagar')
clr('Sagar','Rahul')
これは簡単でした;)thanx – Moonlit
@ user1291235問題はありません:-)別の可能な解決策を追加しました –
そしてクロージャーボディを変更したくない場合は、最初の引数 'it'に名前をつけることができます:-) – Ayman