[#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:01124] Re: The value of while...

From: Dave Thomas <Dave@...>
Date: 2000-01-12 09:05:42 UTC
List: ruby-talk #1124
matz@netlab.co.jp (Yukihiro Matsumoto) writes:

> In Ruby's syntax, statement is just a special case of a expression
> which cannot appear as a argument (e.g. multiple assignment).

Sorry to follow up the same post twice, but..

Thinking again about class definitions returning a value, I wonder how
many people would find the concept of Class and meta-classes more
obvious if the syntax were

  Dave = Class.new {
         }

rather than

  class Dave
  end


That way, the body of the class definition is clearly a set of
executable statements that manufacture a new Class object, rather than
just a passive declaration. It would also help explain why 'attr' is a
method in Module, not part of the syntax.

If a class definition returned a value, not just void, we could teach
it this way.


Dave


(if this makes no sense, please forgive me - it's 3am and I'm typing
one-handed with a teething baby on my shoulder!)


In This Thread