Trans
7/17/2008 5:23:00 PM
On Jul 17, 10:55=A0am, "Pit Capitain" <pit.capit...@gmail.com> wrote:
> 2008/7/17 Trans <transf...@gmail.com>:
>
> > Why is this cause an infinite loop?
>
> > =A0class X
> > =A0 =A0def m; "m"; end
> > =A0end
>
> > =A0class Y < X
> > =A0 =A0def self.method_added(sym)
>
> =A0 =A0 =A0 =A0p sym
>
> > =A0 =A0 =A0alias_method("__#{sym}", sym)
> > =A0 =A0 =A0remove_method(sym)
> > =A0 =A0end
> > =A0end
>
> > =A0class Y
> > =A0 =A0def m; m; end
> > =A0end
>
> > =A0Y.new.__m
>
> Tom, see above. Creating an alias triggers method_added.
Dooh!
Thanks, Pit.
T.