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

From: David Suarez de Lis <excalibor@...>
Date: 2000-01-12 09:42:14 UTC
List: ruby-talk #1128
Hi all,

Dave (at 3am) wrote: 

> 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

Sound pretty interesting!

> 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.

This kind of abstraction would also allow things like:

person = Class.new {
    new  = Method.new {|a_name| @name = a_name}
    talk = Method.new {|what| print what, "\n"}
    walk = Method.new {
        |direction, time|
         ....
    }
}

john = Person.new("John")

....
I may be a long way off the hook, but having Procs this looks a neat way of defining things, pretty cool that we can have contextual local variables into the closures...

> 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!)

Ouch... hope things get better soon...

laters,
d@

-------------------------------------------------------------
Mensaje enviado gracias al correo gratuito de Demasiado Corp.
[http://correo.demasiado.com]
-------------------------------------------------------------

			   

In This Thread

Prev Next