モジュール応用レベル
Ruby の Module#include と Module#extend の違いはどれですか?
- 1include はインスタンスメソッド、extend はクラスメソッドとして追加する
- 2include はクラスメソッド、extend はインスタンスメソッドとして追加する
- 3両者に機能上の差はない
- 4extend は継承チェーンに追加しない
解説
include はモジュールのメソッドをインスタンスメソッドとして混入します。extend はモジュールのメソッドをクラスメソッド(または特定オブジェクトのシングルトンメソッド)として追加します。