Chciałbym napisać metodę otoki dla usługi internetowej, usługa akceptuje 2 parametry obowiązkowe i 3 opcjonalne.Metoda Groovy z opcjonalnymi parametrami
Aby mieć krótszy przykład, chciałbym, aby uzyskać następujący kod roboczy
def myMethod(pParm1='1', pParm2='2') {
println "${pParm1}${pParm2}"
}
myMethod();
myMethod('a')
myMethod(pParm2:'a') // doesn't work as expected
myMethod('b','c')
Wyjście jest:
12
a2
[pParm2:a]2
a2
bc
Co chciałbym osiągnąć to dać jeden parametr i uzyskać 1a
w wyniku. Czy to możliwe (w leniwy sposób)?
Dzięki, wydaje się, że jest to droga. Zrobię to i porównuję z wysiłkiem, gdy użyję wartości NULL jako domyślnych dla parametrów opcjonalnych. Przychodząc ze świata java jestem całkiem przyzwyczajony do tego ... – Chris
Mam rację, sygnaturą myMethod powinno być 'def myMethod (String mandatory1, String mandatory2, Map map = [:])'? –
Nie, inaczej, jak w odpowiedzi –