def initialize
   p @test_value = super
 end

?

On Mon, Mar 15, 2010 at 2:41 PM, Andrea Dallera <andrea / andreadallera.com>wrote:

> Hei Chuck,
>
>        that's exactly what i was trying to avoid. While I'm at it, let me
> be
> more specific about my problem, which is actually not just printing out
> text to the console but changing the state of the newly created
> instance:
>
> class Parent
>
>  attr_reader :test_value
>
>  def initialize
>    @test_value = "from parent"
>   end
>
> end
>
> class Child < Parent
>
>  def initialize
>     p @test_value
>   end
>
> end
>
> child = Child.new
>
> this should print out "from parent"
>
> --
> Andrea Dallera
> http://github.com/bolthar/freightrain
> http://usingimho.wordpress.com
>
>
> On Mon, 2010-03-15 at 23:32 +0900, Chuck Remes wrote:
> > On Mar 15, 2010, at 9:13 AM, Andrea Dallera wrote:
>
> > > Hi everybody,
> > >
> > >     given the following situation:
> > >
> > > class Parent
> > >
> > >  def initialize
> > >    print "magic\n"
> > >  end
> > >
> > > end
> > >
> > > class Child < Parent
> > >
> > >  def initialize
> > >    print "more magic\n"
> > >  end
> > >
> > > end
> > >
> > > child = Child.new
> > >
> > > is there a way in which i can get "magic" and "more magic" as the
> > > output, without having to add super to the child class's constructor? I
> > > was thinking about overriding the class method "new" but i really
> didn't
> > > get anything to work up to now.
> >
> > Use the #super keyword to call the superclass.
> >
> >
> > class Parent
> >   def initialize
> >     print "magic\n"
> >   end
> > end
> >
> > class Child < Parent
> >   def initialize
> >     super
> >     print "more magic\n"
> >   end
> > end
> >
> > child = Child.new
> >
> > ----------
> >
> > cremes$ ruby a.rb
> > magic
> > more magic
> >
> > cr
> >
> >
>
>
>


-- 
jbw