多個返回語句(但是單個返回值)
函式可以有多個 return 語句,它們可以放在實際函式的不同部分。他們都需要返回相同的資料型別。
FUNCTION returning DATE ( dat AS DATE):
IF dat < TODAY THEN DO:
DISPLAY "<".
RETURN dat - 200.
END.
ELSE DO:
DISPLAY ">".
RETURN TODAY.
END.
END.
MESSAGE returning(TODAY + RANDOM(-50, 50)) VIEW-AS ALERT-BOX.
一個函式實際上根本不需要返回任何東西。那它的返回值會是多少? (未知)。編譯器不會捕獲這個(但是你的同事會這樣避免它)。
/* This function will only return TRUE or ?, never FALSE, so it might lead to troubles */
FUNCTION inTheFuture LOGICAL ( dat AS DATE):
IF dat > TODAY THEN DO:
RETURN TRUE.
END.
END.
MESSAGE inTheFuture(TODAY + RANDOM(-50, 50)) VIEW-AS ALERT-BOX.