From: matz@... (Yukihiro Matsumoto) Date: 2000-01-14T01:55:09+09:00 Subject: [ruby-talk:01136] Re: The value of while... Hi, In message "[ruby-talk:01131] Re: The value of while..." on 00/01/12, Dave Thomas writes: |matz@netlab.co.jp (Yukihiro Matsumoto) writes: | |> Telling use of void value expression has benefit, I think. But there |> may be better message for the error. | |My point was simply that they don't _have_ to be void -- there may be |value in them returning a value. I get it now. At present, 'void expressions' are ones introduced by the reserved words listed below: return break next redo retry while until class module def Among them, expressions to switch control flow (return, break, next, redo, retry) cannot have value anyway. I can't think of proper value for `while' and `until', unless `break with value' is introduced. pending. `class' and `module' can return their newly defined structure. It may be good idea, iff it is consistent with the return value of `def'. `def' is more difficult, because of implementation reason, we cannot have so-called unbound method object in Ruby. A Method object is a method bound to the certain receiver. It had been discussed in Japanese speaking list, but we couldn't find any good idea. In conclusion, if we can find proper return value for `def', I'll change expressions `class', `module', and 'def' to return values. Otherwise remain as they are. I have no idea about `while' and `until' to return value, yet. matz.