[#1026] Is this a bug? — Dave Thomas <Dave@...>

18 messages 2000/01/03

[#1084] Infinite loop — Dave Thomas <Dave@...>

17 messages 2000/01/11

[#1104] The value of while... — Dave Thomas <Dave@...>

24 messages 2000/01/11

[ruby-talk:01118] Re: The value of while...

From: Dave Thomas <Dave@...>
Date: 2000-01-12 07:03:13 UTC
List: ruby-talk #1118
matz@netlab.co.jp (Yukihiro Matsumoto) writes:

> |I guess my point is that this is the only place the concept of 'void
> |expression' appears. It is otherwise not expressible as a value, nor
> |can you test for it (a.void?).
> 
> Hmm, but it's a attribute of the statement which cannot be treated by
> the programs directly.

Let's look at another case. A class definition currently returns a
void expression. Instead, it could return a class object. This would
then allow things like the one-step initializing of singletons and
(with a slight change of syntax) totally anonymous class definitions

   a = (class
           def initialize
           ...
           end
        end
       ).new

Similarly, 'def' could return a Method.


> What do you (and others) think about each of
> the ideas below:
> 
>   * make it warning.

No, because unless 'while' is changed to return something meaningful
it's probably an error

>   * leave it as it is.

Fine by me

>   * remove this check.

No - see above

>   * something else.

Return a value or nil?

> `break' returning is as interesting as `break' with the label to exit.
> I couldn't decide.

Personally I dislike labeled breaks, but not strongly...


Dave

In This Thread