それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

クラスの特異メソッドにモジュールのメソッドを取り込む

モジュールのメソッドを、クラスの特異メソッドに取り込む

module で定義した、メソッドやローカル変数を、クラスの特異メソッドに取り込む

次のようにすると実現できる。

module S1
  def sample
    puts :sample
  end
end

class A
  class << self
    include S1
  end
end

共通処理をクラスに書いてしまうとクラスのStaticな部分とインスタンスな部分がごちゃ混ぜになってしまうので、分けて書けるのはMix-inが強いなと思いました まる。

ただ、include や モジュールでほしいのは関数定義 def だけだったりするので、名前空間が独特でruby 分かりづらいよねともおもったり。クラスの継承をしなくて良いのは楽よね。