我想定义一个关闭,它接受一个参数(我引用它)
有时我想通过另一个额外的论据来关闭。
我该怎么办?
有时我想通过另一个额外的论据来关闭。
我该怎么办?
解决方法
您可以将第二个参数设置为默认值(如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 a 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