我正試圖讓用戶有機會對圖像進行過濾。在我的代碼,我會收到一個字符串像如何在進度4GL的CASE中編寫IF語句?
ASSIGN img = "images\green.png".
我認爲這將是最好寫下面如果在一個CASE語句,但是我不知道怎麼了,因爲你不能使用類似火柴或任何CASE語句中的其他變量值。
IF img MATCHES "*green*" THEN DO:
MESSAGE "It's green!"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
ELSE IF img MATCHES "*orange*" THEN DO:
MESSAGE "It's orange!"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
ELSE IF img MATCHES "*red*" THEN DO:
MESSAGE "It's red!"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
所以我顯然不能寫這樣的:
CASE img:
WHEN MATCHES "*green*" THEN DO:
MESSAGE "It's green!"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
WHEN MATCHES "*orange*" THEN DO:
MESSAGE "It's red!"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END
WHEN MATCHES "*red*" THEN DO:
MESSAGE "It's red!"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
END CASE.
任何想法還是我只是把它在IF語句?
我不清楚你實際上是試圖做。 if-else-if樹很可能與case語句一樣快,但認爲它並不那麼優雅。我明白你的例子很簡單,但爲了更好地思考,我需要明白你要做什麼。你提到了過濾,但我看不到你所顯示的代碼會執行過濾操作。 – Screwtape
此代碼僅是IF語句的一個示例,並未顯示過濾器所需的代碼。但我會堅持使用IF語句,因爲它更易於閱讀。謝謝你的時間! –