From: Trans Date: 2007-09-07T00:57:09+09:00 Subject: Re: before, after and around Ruby 1.9 On Sep 5, 6:32 pm, Joel VanderWerf wrote: > Yukihiro Matsumoto wrote: > > Hi, > > > In message "Re: before, after and around Ruby 1.9" > > on Thu, 6 Sep 2007 03:07:14 +0900, Trans writes: > > > |Any chance Ruby 1.9 will have before, after and around method > > |composition support? > > > No. Wait for 2.0 for built-in method combination. The vague plan is > > making open-class to stack methods on the current ones, unless > > explicitly removed, i.e. > > > class Foo < Object > > def foo > > puts "Foo#foo (1)" > > end > > end > > class Foo # re-open > > def foo > > super # calls the first foo > > puts "Foo#foo (2)" > > end > > end > > What if you want to reopen _without_ the "around" semantics? Could we > have these two variations: > > class Foo < Foo # <-- This is a type error in 1.8 > def foo; super; end # AROUND > end Almost an anonymous cut. > class Foo > def foo; super; end # REDEFINE > end > > At least that is a conservative extension. The downside here is it's static syntax --making it harder to work with in dynamic metacode. T.