たとえば、Pythonでは、次のようなクラスを作成できます。
class foo(object):
bar = 'x'
def __init__(self, some_value):
self.some_attr = some_value
...ここで、barはクラス属性であり、some_attrはインスタンス属性です。Rubyでこのようなことを行う慣用的な方法は何ですか?
class Foo
@@bar = 'x'
attr_accessor :some_attr
def initialize(some_value)
self.some_attr = some_value
end
end
wepposが書いたものとほぼ同じですが、インスタンス変数には@-sigilを使用します(これは一般的な方法です)。
好き:
def initialize(some_value)
@some_attr = some_value
end
また、クラスに「Foo」という名前は付けませんが、Rubyとは関係ありません。