Ich möchte eine Schließung definieren, die ein Argument (das ich mit it
) nehme Ich möchte manchmal ein weiteres zusätzliches Argument an die Schließung übergeben. wie kann ich das tun?Groovy Closure mit optionalen Argumenten
19
A
Antwort
32
Sie könnten das zweite Argument auf einen Standardwert (zB null) gesetzt:
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
Eine andere Möglichkeit wäre b
eine Vararg Liste wie so zu machen:
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
hoffentlich hilft
def clr = {...a ->
print "Passed $a then "
enter code here
}
clr('Sagar')
clr('Sagar','Rahul')
Verwandte Themen
- 1. JavaScript Fabrik mit optionalen Argumenten
- 2. Boost.Python-Konstruktor mit optionalen Argumenten
- 3. Groovy Closure Erklärung
- 4. Groovy Methode mit optionalen Parametern
- 5. Groovy Closure-Parameter
- 6. Groovy Closure Parameter Namen
- 7. Groovy Closure generische Rückgabe/Parameter?
- 8. Sonderbares Problem mit Klassen und optionalen Argumenten
- 9. Tuple Mitglied Extraktion in closure-Argumenten
- 10. Aktualisierung von "it" in einem Groovy Closure
- 11. Übergeben von optionalen Argumenten an eine Funktion
- 12. Repetitive Try-Catch-Blöcke mit Groovy 'with' Closure?
- 13. Groovy Parent/Child Private Feldzugriff Weirdness mit Closure
- 14. Get Argument Anzahl einer PHP-Funktion mit optionalen Argumenten
- 15. So erstellen Sie eine interaktive elisp-Funktion mit optionalen Argumenten
- 16. Does Pfeil Funktion wie Groovy Closure-Attribut hat delegieren
- 17. Das erste und letzte Element in einem Groovy erkennen {} closure
- 18. Wie konvertiere ich einen Groovy-Klassenkonstruktor in einen Closure?
- 19. So instanziieren Sie eine Java-abstrakte Klasse mit einem Konstruktor-Parameter mit einem Groovy-Closure
- 20. Mit Google Closure Compiler
- 21. Cast Closure Karte zu Objekt mit einem privaten Konstruktor in groovy
- 22. string.format() mit optionalen Platzhalter
- 23. Activator.CreateInstance mit optionalen Parametern
- 24. Gibt es eine Möglichkeit Attribut verwenden NUnit Testcase mit optionalen Argumenten
- 25. Erstellen Sie ein Objekt in C# aus einem F # Objekt mit optionalen Argumenten
- 26. Wie kann ich eine Funktion mit optionalen Argumenten in C machen?
- 27. Closure-Compiler schreibt keine Fehler
- 28. Closure-Compiler-App mit jquery
- 29. Clojure closure
- 30. F # Closure
das war einfach;) danke – Moonlit
@ user1291235 kein Problem :-) Eine weitere mögliche Lösung hinzugefügt –
Und wenn Sie den Schließkörper nicht ändern wollen, können Sie das erste Argument 'it' nennen :-) – Ayman