Thanks, Bill and Ric, for your examples and suggestions, and especially 
Henry, for your explanation!

> The point is, a test block can have multiple lines
> (perhaps even containing if. blocks!) and the result
> of the LAST line is the result of the test.
> Here, everything between select. and case. is the test block.

I was aware of the "last line" rule, but I had interpreted that to 
refer to lines *before*, for example, the "select" in my code.  I 
didn't immediately realize that it applied as well to the lines of code 
between "select" and "case".  However, in contemplating your response 
some more, I realized that I was letting my VISUAL code perspective 
override the truth of the matter, namely, that (as you said) everything 
(whether one line or multiple lines of code) between "select" and 
"case" combined to create the value to select.  As Bill suggested, 
moving the 3 lines of debugging code (which he had previously suggested 
for verification purposes) made both (numeric and literal) functions 
work correctly.  Thanks again to everyone for helping this beginner to 
understand J better!

Harvey


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to