Developers開発の実験等々、クイックサーブのメンバーが好き好きに書き込んでいく場所です。概要Rubyのモジュール(module)を何となく使ってきたので、基礎を振り返りつつ、ざっくばらんにコード例を掲載する。詳しい説明は省略するので必要に応じて各自で調べるものとする。2.4.1moduleとはRubyにおけるモジュールは、Moduleクラスのインスタンスでうんたらであるが、ここではクラスと同じように変数やメソッドを持ってる名前空間ぐらいの認識から始める。MyModuleendみたいに定義できる。モジュールはクラスと違いインスタンスを生成できない継承ができないなどの特徴がある。インスタンス作れない、継承できないでどうやって使うのよという疑問は後々。1のように、moduleを入れ子にすることで、名前空間の階層化ができる。これによって階層的な定数の管理とかがしやすくなる。Helloのように、クラスのクラスメソッドみたいな書き方でメソッドを定義すると、モジュールの特異メソッドとして利用できるようになる。クラスに属さない汎用的なロジックとか定義すると捗る。特異メソッドはmodule_functionメソッドで定義することも出来る。こっちのほうが一般的かも。Helloモジュールをクラスにmixinするモジュールはインスタンスを生成できないけど、クラスにインクルードする(mixinする)ことはできる。Helloクラスにモジュールをincludeすると、モジュールのメソッドがあたかもクラスのインスタンスメソッドであるかのように利用できる。Rubyはクラスの多重継承を行うことができないが、includeは複数のモジュールに対して行えるので、一つのクラスに複数の機能を取り込むような使い方ができる。Bar!!逆に、一つのモジュールを複数のクラスでincludeすることもできるので、ある共通の機能を複数のクラスに持たせることができる。Postクラスをモジュールでextendするincludeでは、モジュールのメソッドをクラスのインスタンスメソッドにすることができた。今度はextendを使うことで、モジュールのメソッドをクラスのクラスメソッドにすることができる。コメントをキャンセルメールアドレスが公開されることはありません。