私の一日のコレクションとその奇抜さを定義するクラスがあるとします。次のように初期化関数で @scores 変数を初期化する方が良いですか?
class WackyDayScorer
attr_reader :scores
def initialize(start = Time.now, max = 90.days)
@start = start
@limit = start - max
@scores = get_scores
end
private
def get_scores
result = []
t = @start.clone
until t < max
result << score_wackiness(t)
t -= 1.day
end
result
end
end
または get_scores メソッドで次のように初期化します。
class WackyDayScorer
attr_reader :scores
def initialize(start = Time.now, max = 90.days)
@start = start
@limit = start - max
get_scores
end
private
def get_scores
@scores = []
t = @start.clone
until t < max
@scores << score_wackiness(t)
t -= 1.day
end
end
end