From: Trans Date: 2007-09-07T01:18:19+09:00 Subject: Re: before, after and around Ruby 1.9 On Sep 5, 6:46 pm, Yukihiro Matsumoto wrote: > Hi, > > In message "Re: before, after and around Ruby 1.9" > on Thu, 6 Sep 2007 10:32:03 +0900, Joel VanderWerf writes: > > |What if you want to reopen _without_ the "around" semantics? > > I thought we need to remove the previous one first. > > |Could we have these two variations: > | > |class Foo < Foo # <-- This is a type error in 1.8 > | def foo; super; end # AROUND > |end > | > |class Foo > | def foo; super; end # REDEFINE > |end > | > |At least that is a conservative extension. > > Or maybe providing two supers, one for the current behavior, the other > for the new. I don't whatever name is suitable for new super yet, > however. How would you be sure (and why would you want to?) know when a "previous" exists or not? It rarely make sense to avoid advice. However, when absolutely needed one can fallback to directed calling with things like: super_at(Object) or as(Object).foo T.