Methods Groovy可选参数省略中心值
我在groovy中有一个方法。此方法的第二个参数为param?。我想省略这个参数,只传递第一个和第三个参数。有什么方法可以做到这一点。不改变你的课程是不行的 为什么不添加一个只接受2个参数的新方法 或者将可选参数移到末尾并为其指定默认值 或者您可以定义一个方法,该方法返回一个只接受2个参数的闭包,并为中间的参数插入一个默认值Methods Groovy可选参数省略中心值,methods,groovy,parameters,Methods,Groovy,Parameters,我在groovy中有一个方法。此方法的第二个参数为param?。我想省略这个参数,只传递第一个和第三个参数。有什么方法可以做到这一点。不改变你的课程是不行的 为什么不添加一个只接受2个参数的新方法 或者将可选参数移到末尾并为其指定默认值 或者您可以定义一个方法,该方法返回一个只接受2个参数的闭包,并为中间的参数插入一个默认值 String threeParams(String a, int b, String c) { "$a:$b:$c" } Closure midCurry(int
String threeParams(String a, int b, String c) {
"$a:$b:$c"
}
Closure midCurry(int b) {
{ String a, String c -> threeParams(a, b, c) }
}
def twoParams = midCurry(1)
assert twoParams('tim', 'yates') == 'tim:1:yates'
不改变你的课程就不行 为什么不添加一个只接受2个参数的新方法 或者将可选参数移到末尾并为其指定默认值 或者您可以定义一个方法,该方法返回一个只接受2个参数的闭包,并为中间的参数插入一个默认值
String threeParams(String a, int b, String c) {
"$a:$b:$c"
}
Closure midCurry(int b) {
{ String a, String c -> threeParams(a, b, c) }
}
def twoParams = midCurry(1)
assert twoParams('tim', 'yates') == 'tim:1:yates'
您讨论的是方法重载,但groovy在参数中提供了默认值选项。我可以把中间部分留作默认,其余部分我自己提供。我不这么认为。虽然您在谈论方法重载,但我不是100%确定我是否理解,但是作为groovy,在参数中提供默认值选项。我可以把中间部分留作默认,其余部分我自己提供。我不这么认为。但我不是100%肯定我能理解