红宝石中的模块

Jam*_*sir 1 ruby


module Hints
 module Designer
  def message
   "Hello, World!"
  end
 end
end

p Hints::Designer.message


为什么这会给我以下错误......?

Hints :: Designer:模块(NoMethodError)的未定义方法`message'

Kev*_*tre 7

您需要做的是将消息定义为类方法(而不是实例方法).尝试:

module Hints
 module Designer
  def self.message
   "Hello, World!"
  end
 end
end

puts Hints::Designer.message
Run Code Online (Sandbox Code Playgroud)

如果要将实例方法与模块一起使用,则必须使用模块和任何给定的约束来扩展对象(请参阅http://ruby-doc.org/core/classes/Module.html).