【问题标题】:How to write constant inside module?如何在模块内编写常量?
【发布时间】:2011-08-04 09:26:20
【问题描述】:
module Test1
  module Test2
    def self.included(base)
      # Where can I declare constant ? How ?
      base.extend ClassMethods
      base.class_eval do
           # named scopes
      end
    end
  end
end

class abc
  include Test1::Test2
end

我在哪里可以声明常量?怎么样?

【问题讨论】:

    标签: ruby-on-rails ruby constants


    【解决方案1】:

    我不确定我是否理解 - 你是不是这个意思:

    module Test1
      module Test2
        CONSTANT = 5
        def self.included(base)
          # Where can I declare constant ? How ?
          base.extend ClassMethods
          base.class_eval do
           # named scopes
          end
        end
    
        module ClassMethods
        end
      end
    end
    
    class A
      include Test1::Test2
    end
    
    puts A::CONSTANT # => 5
    

    【讨论】:

      【解决方案2】:

      在 Ruby 中,以大写字母开头的变量被视为常量。因此,您可以使用变量Pi = 3.14 来声明常量值。

      【讨论】:

      • 不是“开头”,而是全部大写
      • @Tim,rookieRailer 是正确的。 Ruby 常量 start_with 大写字母。类实际上是 Ruby 中的常量。
      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 2021-12-16
      相关资源
      最近更新 更多