From: Christoph (news_chr) Date: 2003-07-30T11:08:57+09:00 Subject: Re: Passing a method block to a parent class "Eric Anderson" wrote .... > def method1( argument ) > puts argument > super.method1( argument ) > end > end The above is equivalent to --- class B < A def method1( argument ) puts argument super(argument).method1( argument ) end end --- Just write this as --- class B < A def method1( argument ) puts argument super end end --- and things will work as you probably intended. B.t.w this also works if you modify the argument supplied to super, as in --- class A def mth(s) yield s end end class B < A def mth(s) super(s+'b') end end class C < B def mth(s) super(s+'c') end end C.new.mth('a') {|x| p x + 'd' } # => "abcd" --- /Christoph