カテゴリー:
Ruby
タグ:
 Ruby include extend

このエントリーをはてなブックマークに追加
更新日時:
2013年08月15日(木)
作成日時:
2013年08月15日(木)

前の記事 / 次の記事

ようやくRubyのincludeとextendが何をしているのか理解できるようになって来たので簡単にまとめ。

まず、次のページに書いてあることがたぶん全てを語っている、

Rubyのincludeとextendについて

で、次のページみたいに使うとスマートっていうかたぶんコードの可読性が上がる

もっとクールにプログラミング

まとめると、

include

  • モジュールのメソッド(Module#include)
  • レシーバー(つまりself)に引数のモジュールを取り込む

extend

  • オブジェクトのメソッド(Object#extend)
  • レシーバーの特異クラス(つまり class << self)に引数のモジュールを取り込む

問題は、特異クラスって何なんだよ!!
ってところだと思うんだけど、そこはメタプログラミングRubyとか見て頑張る。