- Discuss: BAM Reddit or BAM Discord or BAM Café
Changes / Enhancements
Summary
- Rename NVL$ to FNEV
- "EVAL" clause removed from GOTO, GOSUB and RESTORE statements
- INPUT now allows expressions as the prompt argument
Details
Rename NVL$ to FNEV
I don't know what I was thinking. "NVL" is a proprietary function name originating from Oracle SQL. I've got no business, I think, calling my function that.
So, I've decided to rename NVL$ (which I was using to mean "No VaLue") to FNEV (First Non-Empty Value).
This function can be used with strings and with numbers. (That's why the function name does not have a "$" suffix.)
For the immediate future, this function accepts two parameters. If the first parameter is not empty ( "" is an empty string; 0 is an empty number), then the first parameter is returned. Otherwise, the second parameter is returned.
Someday, I will change this function to allow more parameters, and set it up so that it returns the first "non-empty" value found.
"EVAL" clause removed from GOTO, GOSUB and RESTORE statements
The EVAL keyword was intended to indicate a parameter that is an expression and not a line identifier/number.
Really, parentheses are enough to indicate an expression is being provided instead of a line identifier/number.