Ruby模块和类不能一起工作

时间:2018-03-08 20:18:54

标签: ruby

我有一个模块Animal

module Animal
  def sit
    puts '*sitting*'
  end
end

我是includingDog中的模块。

class Dog
  include Animal
end

dog = Dog.new.sit

运行时,我收到此错误:

dog.rb:2:in <class:Dog>':
uninitialized constant Dog::Animal (NameError)  from
dog.rb:1:in <main>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我猜测有些可能性:

一个。你有Animal正文和Dog正文在不同的文件中,并且从后者调用前者而不加载或需要文件

B中。您的Dog定义后跟Animal定义。

如果是这种情况,请解决它。