2012-09-25 17 views

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 
+0

das war einfach;) danke – Moonlit

+0

@ user1291235 kein Problem :-) Eine weitere mögliche Lösung hinzugefügt –

+0

Und wenn Sie den Schließkörper nicht ändern wollen, können Sie das erste Argument 'it' nennen :-) – Ayman

1

hoffentlich hilft

​def clr = {...a -> 
    print "Passed $a then " 
    enter code here 

} 

​clr('Sagar') 
clr('Sagar','Rahul') 
Verwandte Themen