On Nov 27, 8:17 am, Trans <transf... / gmail.com> wrote:
> On Nov 27, 4:48 am, "Robert Dober" <robert.do... / gmail.com> wrote:
>
>
>
> > Hi list
>
> > I am kind of attached to strange code in that moment, it somehow shows
> > up on it's own, I needed a singleton class and of course I had to
> > reinvent the wheel.
> > Actually, singletons do not always make sense, sometimes zerotons will
> > do the trick, so I created my zeroton
>
> > class << MyZero = Class::new( Whatever ) {
> >    def a; 42 end
> >    def new *args, &blk
> >       self # or raise YourEyeBrows
> >    end
>
> > }
>
> > and why not
>
> > module Kernel
> >     def zeroton superclass = Object, &blk
> >        returning( Class::new( superclass ) ) { |klass|
> >             class << klass; self end.module_eval &blk
> >             class << klass
> >                 def new *args, &blk
> >                     self
> >                 end
> >             end
> >        }
> >     end
> > end
>
> > MyZero = zeroton( Whatever ) {
> >    def a; 42 end
>
> > }
>
> > Any thoughts, insults (moderated though;) ?
>
> Why are you using a class as if it were an instance?
>
> What's wrong with:
>
>   MyZero = Whatever.new
>   def what.a; 42; end
>
> T.

^ That was my thought too, but since he mentioned singleton, I thought
maybe he wanted a class object he could instantiate multiple times and
all of them would have whatever was in the block...like Whatever with
an anonymous mixin.

Regards,
Jordan