Quiero definir un cierre que toma un argumento (al que me refiero con it
) . A veces quiero pasar otro argumento adicional al cierre. ¿cómo puedo hacer esto?Groovy Closure con argumentos opcionales
19
A
Respuesta
32
También podemos establecer el segundo argumento a un valor por defecto (como nulo):
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
Otra opción sería hacer b
una lista vararg así:
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
1
espero que esto ayuda
def clr = {...a ->
print "Passed $a then "
enter code here
}
clr('Sagar')
clr('Sagar','Rahul')
Cuestiones relacionadas
- 1. LaTeX Argumentos opcionales
- 2. llamados argumentos opcionales PHP?
- 3. Argumentos opcionales en defgeneric?
- 4. Propagating argumentos opcionales
- 5. argumentos opcionales en Haskell
- 6. Argumentos con nombre opcionales en Mathematica
- 7. ¿Puede sys.argv manejar argumentos opcionales?
- 8. Argumentos opcionales en WHERE Cláusula
- 9. Probando argumentos opcionales en PHP
- 10. Cómo pasar los argumentos opcionales
- 11. Métodos genéricos y argumentos opcionales
- 12. Argumentos opcionales de C++/CLI
- 13. javascript argumentos opcionales en función de
- 14. ¿Cómo se crean argumentos opcionales en php?
- 15. Python: argparse argumentos opcionales sin guiones
- 16. Cómo revertir url con argumentos de campos opcionales en django?
- 17. Cómo crear la función elisp interactiva con argumentos opcionales
- 18. ¿Es posible definir un bloque con argumentos opcionales en Ruby?
- 19. Python Argparse: Problema con argumentos opcionales que son números negativos
- 20. ¿Puede explicarme este comportamiento extraño de C# con argumentos opcionales?
- 21. ¿Cómo creo una función de Python con argumentos opcionales?
- 22. Crear una función con argumentos opcionales en MySQL
- 23. ¿Es posible tener un alcance con argumentos opcionales?
- 24. ¿Cómo usar argumentos opcionales en defprotocol?
- 25. Argumentos opcionales en Objective-C 2.0?
- 26. Argumentos y puntos opcionales en el esquema
- 27. Funciones de Javascript y argumentos opcionales
- 28. Crear eventos con google closure
- 29. Parámetros opcionales con Specflow
- 30. Cómo @suppress múltiples advertencias con Closure Compiler?
que era fácil;) thanx – Moonlit
@ user1291235 no hay problema :-) Se agregó otra posible solución –
Y si no quiere cambiar el cuerpo del cierre, puede ponerle nombre al primer argumento 'it' :-) – Ayman