in Groovy, il return statement is optional, che consente di scrivere metodi come:di groovy "di ritorno opzionale" semantica
def add(a, b) {
a + b
}
... che aggiunge a
e b
e restituisce il risultato al chiamante.
Tuttavia, mi chiedo quale sia la semantica quando il metodo ha più "dichiarazioni" di reso. Ad esempio, in Java si potrebbe avere:
String append(String a, String b) {
if (a == null) {
return b;
}
return a + b;
}
Questo potrebbe (ipoteticamente) essere tradotto in Groovy come:
def append(a, b) {
if (! a) {
b
}
a + b
}
Tuttavia, in questo caso, come fa Groovy sapere che b
all'interno della if
la dichiarazione dovrebbe essere restituita? O no? Suppongo che Groovy non possa semplicemente trattare qualsiasi affermazione il cui risultato non è utilizzato come return
, corretto? Esistono semantiche chiaramente definite su come si comporta in questo caso la funzione "ritorno opzionale"?
Solo un avviso, il collegamento di riferimento è rotto. – jmreicha
@jmreicha - Grazie, risolto. – aroth