IF_ELSEIF or SELECT_WHEN? It’s a battle from RPGers on different forums… who like IF_ELSEIF and who like SELECT_WHEN to control flow on multiple conditions.
Let’s start by saying that IF-ELSEIF and SELECT-WHEN are the exact same thing from a point in the program flow and the performance of the code itself, so these following two pieces of code do exactly the same thing:
if YourAge<30; dsply 'Oh, you are very young!' 'inp; elseif YourAge<40; dsply 'You are young!' 'inp; elseif YourAge<50; dsply 'OK you are still young!' 'inp; elseif YourAge<60; dsply 'Oh, you were young once!' 'inp; else; dsply 'Oh yeah, it's RPG!...' 'inp; ENDIF;
select; when YourAge<30; dsply 'Oh, you are very young!' 'inp; when YourAge<40; dsply 'You are young!' 'inp; when YourAge<50; dsply 'OK you are still young!' 'inp; when YourAge<60; dsply 'Oh, you were young once!' 'inp; Other; dsply 'Oh yeah, it's RPG!...' 'var; ENDsl;
As you can see the two parts of code do the same and identical thing … the difference is an “extra line” … “select;” in the right box.
I, personally, prefer “SELECT – WHEN” … I find the most readable code … but other RPG developers like “IF-ELSEIF” … others still use SELECT-WHEN when the condition repeats on the same variable in the various WHEN (as in the case above) … and “IF-ELSEIF” when the condition changes from time to time (example IF A-B … ELSEIF C-D AND E-F ….. ELSEIF G-X … ENDIF).
References:
Index
---
Roberto De Pedrini
Faq400.com We are pleased to receive and share this "tip & trick" from Patrick Rizzi, which introduces a technique that allows…
I take inspiration from a response by Michael Mayer on the Midrange.com mailing lists to someone who asked how to…
Businesses are increasingly seeking tools to enhance efficiency, collaboration, and resource management. Enterprise Resource Planning (ERP) systems provide a comprehensive…
Early April saw the release of the "Spring Version" of ACS Access Client Solution, version 1.1.9.5 Interesting new features especially…
If the packed agenda of sessions at Common Europe Congress 2024, June 3-6 Milan, wasn't enough for you, here's another…
Debugging functions with Visual Studio Code have been available for some time but this new version 2.10.0 simplifies the handling…