„Opcjonalny zwrot” Groovy'ego

W Groovy, theinstrukcja return jest opcjonalna, umożliwiając pisanie metod takich jak:

def add(a, b) {
    a + b
}

... co dodajea ib i zwraca wynik do dzwoniącego.

Zastanawiam się jednak, czym jest semantyka, gdy metoda ma wielokrotne „instrukcje”. Na przykład w Javie możesz mieć:

String append(String a, String b) {
    if (a == null) {
        return b;
    }
    return a + b;
}

Może to (hipotetycznie) zostać przetłumaczone na Groovy jak:

def append(a, b) {
    if (! a) {
        b
    }
    a + b
}

Jednak w tym przypadku, skąd Groovy to wieb wewnątrzif oświadczenie powinno zostać zwrócone? Czy nie? Zakładam, że Groovy nie może po prostu traktować żadnego stwierdzenia, którego wynik nie jest używanyreturn, prawda? Czy są jakieś jasno zdefiniowane semantyki dotyczące tego, jak zachowuje się w tym przypadku funkcja „opcjonalny zwrot”?

questionAnswers(1)

yourAnswerToTheQuestion