A discussion about expression languages and Algol68 led me to think
about Ruby loops returning values. I had a look at the parser, and
discovered:
a = (while i < 10; i += 1; end) #-> void value expression
a = begin; while i < 10; i += 1; end; end #-> nil
In the latter case, 'while' is treated as if it returned 'nil'.
Just a curiosity...
Dave