0
我想了解這段代碼。類def方法初始化爲0?
我想將它初始化爲零。 def seconds=()
,這是什麼意思?我不得不打電話def seconds
來獲得變量。如果我只是把attr_accessor :seconds
放在一起,這不一樣嗎?
require 'time'
class Timer
def seconds=(seconds)
@second = seconds
end
def seconds
@seconds
end
end
注意,如果他這樣做,他也可能只是做'attr_writer:seconds'然後寫他自己的讀者方法,而不是重寫它。雖然,我想在選擇方面沒有任何性能上的提升(如果有的話,我很樂意聽到它) – David
@David:最好我知道,由於函數的性能影響很小(可以忽略)定義兩次。不管怎樣,我傾向於在使用'attr_accessor'方面犯錯:如果您正在掃描其源的屬性,它會爲類的定義增加清晰度。 –
我的想法也是如此。 – David