From: Albert Wagner Date: 2002-01-10T07:49:26+09:00 Subject: How to override subclass#new I have some code similar to below, which expresses my intent, but is not what is happening. Who is calling B#initialize? Do I need a call to super in B#initialise? I keep getting trash in the b and c passed to B#initialize or error messages saying that there are too many args being passed to B#initialize. I obviously have a very murky understanding of how to achieve what I want. Thanks ahead for any advice. class A def A.new(a, *args) end end class B < A def B.new(a, b, c) x = 1 y = 2 z = 3 super(a, x, y, z, ) end def initialize(a, b, c) @a = a @b = b @c = c end end B.new(a,b,c) #<==preferred method of creating a B instance -- Quantum Mechanics: The dreams stuff is made of