4

我正在使用 Ruby on Rails 3.2.2,我想知道是否可以检查类或模块是否已命名空间。也就是说,我想运行类似下面的东西

ANamespaceName::AnotherNamespaceName::AClassName.is_namespaced?
#=> true
ANamespaceName::AClassName.is_namespaced?
#=> true
AClassName.is_namespaced?
#=> false

在上面的代码中,问题与声明/实现该is_namespaced?方法有关。

4

1 回答 1

7

从“如何在 Ruby on Rails 中以编程方式找到命名空间/模块名称? ”工作,您可以使用::类名中的存在来测试是否存在关联的模块。

def self.is_namespaced?
    self.name.include? "::"
end
于 2012-07-15T03:02:56.993 回答