1 つの引数 ( で参照) を取るクロージャを定義したいit
場合、クロージャに別の追加の引数を渡したい場合があります。これどうやってするの?
質問する
12746 次
3 に答える
42
2番目の引数をデフォルト値(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
、次のようにvarargリストを作成することです。
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
于 2012-09-25T09:54:30.853 に答える
3
うまくいけば、これが役立ちます
def clr = {...a ->
print "Passed $a then "
enter code here
}
clr('Sagar')
clr('Sagar','Rahul')
于 2016-05-19T06:58:06.197 に答える