技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

moduleはオブジェクトを作成できない

moduleはオブジェクトを作成できない

moduleはクラスと異なり、オブジェクトを作成することが出来ません。 例えばこんな時にエラーになります。

module Chatting
  def hello
    "hello"
  end
end
object = Chatting.new
-> NoMethodError

「newなんてメソッドは知りません」と怒られる

moduleの基本的な使い方はクラスにincludeして活用します。

class Dog
  include Chatting
end
pochi = Dog.new
poch.chat
=> "hello"

って感じで使えます。