在Ruby中的类定义中设置类/实例变量的惯用方法是什么?

时间:2009-11-18 16:47:10

标签: ruby idioms

例如,在Python中,我可以创建一个这样的类:

class foo(object):
    bar = 'x'
    def __init__(self, some_value):
        self.some_attr = some_value

...其中bar是类属性,some_attr是实例属性。在Ruby中做这样的事情的惯用方法是什么?

2 个答案:

答案 0 :(得分:6)

class Foo

  @@bar = 'x'
  attr_accessor :some_attr

  def initialize(some_value)
    self.some_attr = some_value
  end

end

答案 1 :(得分:1)

几乎是weppos写的,但是我会使用@ -sigil作为实例变量(这是常见做法)。

像:

def initialize(some_value)
    @some_attr = some_value
end

另外,我不会将类命名为“Foo”,但这与Ruby没有任何关系。