今日の担当

ホスト:やまこー 記録係:いわき

モジュールにメソッドを定義する。

module 〇〇
  def 〇〇; end
end

ただこれだと何も表示されない。

モジュールメソッドをクラスに使うようにするために

includeメソッドを使用する。

module Finland
    def minyou
     @name += "民謡"
    end
   end

class Enka
    include Finland
    def initialize(name)
     @name = name
    end
    def name 
     @name
    end
   end

enka = Enka.new("フィンランド")
enka.minyou
puts enka.name

モジュールは複数のクラスでも使用できる。

module Finland
  def minyou
    @name += "民謡"
  end
end

class Enka
  include Finland
  def initialize(name)
    @name = name
  end
  def name 
    @name
  end
end

class Kpop
  include Finland
  def initialize(name)
    @name = name
  end
  def name 
    @name
  end
end

enka = Enka.new("フィンランド")
enka.minyou
puts enka.name

kpop = Kpop.new("韓国")
kpop.minyou
puts kpop.name

include :クラスで使うと、インスタンスメソッドになる。

extend  :クラスで使うと、クラスメソッドになる。

モジュールにクラスメソッドを定義する。

module 〇〇
  def self.〇〇
    "〇〇"
  end
end

puts 〇〇