1

たとえば、Pythonでは、次のようなクラスを作成できます。

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

...ここで、barはクラス属性であり、some_attrはインスタンス属性です。Rubyでこのようなことを行う慣用的な方法は何ですか?

4

2 に答える 2

6
class Foo

  @@bar = 'x'
  attr_accessor :some_attr

  def initialize(some_value)
    self.some_attr = some_value
  end

end
于 2009-11-18T16:51:25.890 に答える
1

wepposが書いたものとほぼ同じですが、インスタンス変数には@-sigilを使用します(これは一般的な方法です)。

好き:

def initialize(some_value)
    @some_attr = some_value
end

また、クラスに「Foo」という名前は付けませんが、Rubyとは関係ありません。

于 2009-11-19T12:27:43.787 に答える