如何为模块类设置默认属性值

时间:2012-03-06 08:35:44

标签: ruby

直到最近这种用法才能正常使用:

module Demo
  class << self
    attr_accessor_with_default :x, "hey"
  end
end

然而情况已不再如此。

attr_accessor_with_default已被删除,我不知道如何将此属性设置为默认值。

2 个答案:

答案 0 :(得分:4)

对于普通实例变量,您只需将变量设置为initialize内的默认值。对于类实例变量,您可以在类体内设置它:

module Demo
  class << self
    attr_accessor :x
  end

  @x = "hey"
end

答案 1 :(得分:0)

以下对我有用......

class Demo
  attr_accessor :x

  def initialize
    @x= "hey"
  end 
end

然后它可以被称为Demo.new.x =&gt; hey