2016-04-14 1 views

Antwort

5

Nicht Ihre Klasse ohne Änderung

Warum eine neue Methode nicht hinzufügen, die zwei Parameter nimmt nur?

Oder den optionalen Parameter an das Ende verschieben und ihm einen Standardwert geben?

Oder Sie könnten eine Methode definieren, die eine Schließung zurückgibt, die nur 2 params nimmt (und klebt einen Standardwert in der mittleren Parameter)

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

Sie sprechen über die Methode zu überlasten, sondern als groovy geben die Standard Wertoption im Parameter. Kann ich die Mitte für Standard und Rest von ihnen verlassen, die ich mir selbst zur Verfügung stelle. –

+0

Nein. Ich denke nicht. Nicht 100% sicher, aber ich verstehe –