2009-11-18 18 views
1

例如,在Python,我可以創建一個類是這樣的:在Ruby的類定義中設置類/實例變量的慣用方式是什麼?

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

...這裏的酒吧是一個類屬性,some_attr是一個實例屬性。在Ruby中做這種事的慣用方法是什麼?

+0

應該是類foo而不是def foo ... – robince 2009-11-19 12:31:13

+0

Doh!直到現在,沒有人抓到它,真是太神奇了。 – 2009-11-19 12:57:02

回答

6
class Foo 

    @@bar = 'x' 
    attr_accessor :some_attr 

    def initialize(some_value) 
    self.some_attr = some_value 
    end 

end 
1

很多weppos寫的,但我會使用@ -sigil作爲實例變量(這是常見的做法)。

像:

def initialize(some_value) 
    @some_attr = some_value 
end 

而且,我不會將類命名爲「富」,但沒有什麼做用Ruby。

+0

我也不會將它命名爲Foo,但當給出像這樣的例子時,總是會首先想到它。 :-) – 2009-11-19 12:56:03

+0

是的,我得到了foo/bar等的一些原因......對於我猜想的例子,我有很多常見的名字,我只是不喜歡它們,因爲它們是「醜陋的」名字:P。來自Python社區的垃圾郵件和雞蛋,如果沒有其他,更有趣:) – Johan 2009-11-19 14:10:44

相關問題