Robert Klemme wrote: > > module Foo > def initialize > @bar = 0 > end > end > > becomes > > module Foo > def initialize(*a,&b) > super > @bar = 0 > end > end > > Pro: this change allows for easy initialization of instance variables > needed by modules even if there are multiple modules included: > > What do others think? What happens when somebody naively updates the first version of module Foo from above as follows? module Foo def initialize(default = 0) @bar = default end end It might seem like a safe enough change, but it wouldn't be. I think you can't change the meaning of "initialize" that drastically, but you could define a new "super_initialize" if it was really important. -- Glenn Parker | glenn.parker-AT-comcast.net | <http://www.tetrafoil.com/>