[Oberon] A slightly better procedure
Jan Verhoeven
jan at verhoeven272.nl
Sat Dec 11 02:59:31 CET 2010
Chris hinted me to the following improvement.
= = = = =
1. BOOLEAN expressions
----------------------
PROCEDURE IsDigit (chr : CHAR) : BOOLEAN;
BEGIN
IF chr < '0' THEN RETURN FALSE END;
IF chr > '9' THEN RETURN FALSE END;
RETURN TRUE
END IsDigit;
It is not a good idea to get into the habit of having multiple exits
from a procedure. In this case they are unnecessary as the recommended
Pascal / Modula-2 / Oberon programming style would result in:
PROCEDURE IsDigit(ch: CHAR): BOOLEAN;
BEGIN
RETURN (ch >= '0') & (ch <= '9')
END IsDigit;
= = = = = =
which can be further improved to
PROCEDURE IsDigit(ch: CHAR): BOOLEAN;
BEGIN
RETURN (ch <= '9') & (ch >= '0')
END IsDigit;
since there are many more characters above '9' than below '0'.
--
Met vriendelijke groeten,
Jan Verhoeven
http://www.verhoeven272.nl
More information about the Oberon
mailing list