1. yanap

    Posted

    yanap
Changes in title
+requireとincludeの違い
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,20 @@
+## require
+
+requireはKernelモジュールのメソッド
+外部ライブラリを読み込む
+requireは1度だけ読み込む、無条件に読み込ませたい場合はload
+
+## include
+
+includeはModuleクラスのメソッド
+ファイルの読み込みはしない
+引数にモジュールを取り、includeしたクラスにincludeされたモジュールの性質を追加する
+
+* includeは「モジュールを使うよって宣言」ではなくて「モジュールが持ってる性質を、クラスに組み込むメソッド」
+* class/module文の中で使うと、モジュールの特徴をそのクラスに追加する
+* モジュールの中でdef self.hogeとして定義されてたやつはそのクラスのクラスメソッドになる
+* モジュールの中でdef fugaとして定義されてたやつはそのクラスのインスタンスメソッドになる
+* class/module文の外で使うと、モジュールの特徴をObjectクラスに追加する
+* モジュールの中でdef self.hogeとして定義されてたやつは全てのクラスのクラスメソッドになる
+* モジュールの中でdef fugaとして定義されてたやつは全てのクラスのインスタンスメソッドになる
+* モジュールのメソッドがincludeしたクラスのインスタンスメソッドとして使えるようになる。