2012-04-07 68 views

回答

0

定義的屬性:

attr_accessor :saves_attr 
attr_accessor :era_attr 
attr_accessor :holds_attr 
attr_accessor :strikeouts_attr 
attr_accessor :whip_attr 

def initialize(saves, era, holds, strikeouts, whip) 
    self.saves = saves 
    self.era_attr = era 
    ... 
end 

然後getsaves你可以這樣做:

self.saves_attr = gets 
+0

做'self.saves ='就是有點-向後方式'@saves ='。 'attr_accessor'也可以帶一個符號列表。 – 2012-04-07 19:53:48

+0

我喜歡自己的做事方式,因爲@saves沒有明確聲明在它讀取更乾淨的代碼中。我可以看到我定義了一個屬性,並且我可以看到我正在使用一個屬性。他們的行爲是一樣的,但我覺得更好。 – 2012-04-07 19:57:52

+0

好吧,'self.saves =(val)'只是'@saves = val',我會說'def saving =(val)'不是顯式聲明的,因爲它只是由'attr_accessor'定義的。此外,實例變量永遠不需要聲明,因爲無論如何它們默認都是「nil」。 – 2012-04-07 20:26:21