ruby 2.0に導入されたmodule#prependを試してみました。

最近、暑いですね。体がだるいし、何もしたくない〜〜〜。
しかし、何もしないことも、我慢できない。。。。。。。

なので、
ruby2.0に新しく入れているメソッド prependを試してみました。
メソッド探索の経路が変わるわけです。
今までは一番強かったのは、クラス内で定義されているインスタンスメソッドでした。
しかし、こいつ(prepend)が使われたら、こいつが一番になってしまうのです。
以下のコードで試しました。

module Goo
   def show
      puts "goo#show"
      super
   end
 end
   
module Too
   def show
      puts "Too#show"
      super                                                                                                                          
   end
end
  
class Foo
    prepend Goo
    include Too
  
    def show
      puts "Foo#show"
      super
    end
 end
  
  Foo.new.show

で出力結果はどうなっているの?



goo#show
Foo#show
Too#show
test.rb:11:in `show': super: no superclass method `show' for # (NoMethodError)
from test.rb:21:in `show'
from test.rb:4:in `show'
from test.rb:25:in `
'

なるほど、このメソッドがあったら何がうれしいの?