Ruby的类定义中的双冒号

时间:2018-10-14 11:49:28

标签: ruby class declaration

我在某些程序中看到了以下声明。

class Animal::Cat < Animal

这些双冒号是什么意思?

这是否意味着Cat类位于Animal命名空间中?

否则,类名本身就是Animal :: Cat?

1 个答案:

答案 0 :(得分:0)

这是另一种(我认为更整洁)的写作方式:

module Animal
  class Cat
  end
end

或者,如果您在Dog课上并且看到:

class Dog
  def new_cat
    ::Cat.new
  end
end

您会知道您是在谈论Cat类,而不是Dog :: Cat类