But the return value is only defined when the last statement is an expression. The last statement is an unless statement, so the return value is undefined.
We were discussing what value is returned even though it's undefined. But that's always dangerous. As you've pointed out, it doesn't always work.
Update: Fixed typo (until=>unless)
In reply to Re^10: printing unitialized value of the 'do BLOCK'
by ikegami
in thread printing unitialized value of the 'do BLOCK'
by rsFalse
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |