From: Joel VanderWerf Date: 2004-07-15T02:16:32+09:00 Subject: Re: 'Initializing' modules ts wrote: >>>>>>"A" == Ara T Howard writes: > > > A> def method(*args, &block) > A> ret = super(*args, &block) > > Same than > > ret = super And note that ret = super() is different from ret = super The first one passes no arguments. The second one passes the original arguments. In other words, you can explicitly specify the argument list by using parens. But be careful: if the method was called with a block, it will be passed to the superclass in both cases. For example: class A def initialize yield 3 if block_given? end end class B < A def initialize super() end end B.new {|x| p x} # ==> 3 One way to explicitly prevent the block from being passed is: class B < A def initialize super(&nil) # or: super() {} end end