【问题标题】:How to check if a class or module is namespaced?如何检查类或模块是否已命名空间?
【发布时间】:2012-07-14 09:31:43
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 class namespaces


    【解决方案1】:

    从“How do you find the namespace/module name programatically in Ruby on Rails?”开始,您可以使用类名中 :: 的存在来测试是否存在关联的模块。

    def self.is_namespaced?
        self.name.include? "::"
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-19
      • 2011-02-06
      • 2012-12-22
      • 1970-01-01
      • 2013-09-10
      • 2015-08-09
      • 2020-01-14
      相关资源
      最近更新 更多