君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

Rubyのmoduleとmodule_functionについて

moduleを定義する

module MyModule
  def hello
    puts 'hello'
  end 
end

MyModule.hello #=> undefined method `hello' for MyModule:Module (NoMethodError)

これだけだと使えない。

moduleを定義 + module_functionを定義

module MyModule
  def hello
    puts 'hello'
  end
  module_function :hello 
end

MyModule.hello #=> hello

使える。