From: Yusuke ENDOH Date: 2009-08-31T21:39:44+09:00 Subject: [ruby-core:25218] Re: Module#prepend and Array#prepend Hi, 2009/8/31 Yehuda Katz : > Matz, > As we discussed at LoneStar, I have the following proposal: (snip) > Effectively, prepend would prepend a module to the class' ancestor chain. I cannot guess the problem you want to solve. I know this mail is just discussion log or reminder, but I'd like you to elaborate your proposal completely when sending to ruby-core. Why don't you define subclass explicitly? class Person def speak(words) puts words end end module Exclaim def speak(words) super("#{ words }!") end end class Exclaimer < Person include Exclaim end Exclaimer.new.speak("matz") #=> matz! As far as I read your mail, I think this is the correct way. Do you want to define Person by including Exclaimer? If so, how about this? class Person def speak(words) puts adjust_words(words) end end module Exclaimer def adjust_words(words) "#{ words }!" end end class Person include Exclaimer end Person.new.speak("matz") #=> matz! -- Yusuke ENDOH