Hi -- On Sun, 31 Aug 2008, Thomas B. wrote: > Zhao Yi wrote: >> My class include a Module and overwrite a method of the Module. In this >> method, I want to invoke the Module's method first. Just like >> "super.method()" in Java. How can I do this? > > Just the word super(). > module M > def q(arg) > # > end > end > class K > include M > def q(arg) > # > super(arg) > end > end > > super() calls ancestor's function with the same name as the function > you're currently in. Keep in mind, though, that the semantics of super (which is a keyword, rather than a method) are a bit different from regular method-calling semantics: super # call ancestor's method with current arguments super(a,b) # call with exactly the arguments (a,b) super() # call with no arguments It's really the first one that's the special case, as you can see. David -- Rails training from David A. Black and Ruby Power and Light: Intro to Ruby on Rails January 12-15 Fort Lauderdale, FL Advancing with Rails January 19-22 Fort Lauderdale, FL * * Co-taught with Patrick Ewing! See http://www.rubypal.com for details and updates!