有没有办法在 Groovy 中使用带有闭包的默认参数值?
这是我到目前为止所尝试的:
class Persona {
String name
Persona( String name ) {
this.name = name
}
String salute( String salute = "Hola" ) {
salute + ' ' + this.name
}
}
Persona.metaClass.salute2 = {
String salute = "Hola" ->
salute + ' ' + name
}
p = new Persona( 'john' )
print p.salute()
print p.salute2()
这给了我以下结果:
Hola johnnull john
似乎调用salute2()
忽略了敬礼默认值"Hola"
。