假设我有一门课,它定义了我的日子的集合以及它们的古怪程度。在初始化函数中初始化我的@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