SomeClass :: OtherClass类是什么模式的?

时间:2012-02-08 20:39:35

标签: ruby oop inheritance

例如

class Spree::UsersController < Spree::BaseController
  #...
end

我找不到如何调用class :: otherclass模式。

1 个答案:

答案 0 :(得分:2)

这不是“模式”;它只是指定了相关类所包含的模块(或类)。

module SomeModule
  class SomeClass
  end
end

SomeModule::SomeClass  # => SomeModule::SomeClass

这允许您命名您的类,而不是将它们全部放在全局命名空间中。您可以根据需要进行嵌套:

module A
  class B
    module C
      class D
      end
    end
  end
end

许多(可能甚至是大多数)宝石使用这种分层嵌套来组织他们的类和模块。