2013-10-19 17 views
0

看起來這將是一個相當普遍的模式這7行法 - 聲明數組並返回它:紅寶石 - 我可以縮短聲明,並返回一個數組

def self.show_day_rows(days, month, year, offset) 
    daylines=[] 
    1.step(days,7).each do |line_starts_with| 
    daylines << CalDay.line_of_day_nums(month, year, line_starts_with, offset) 
    end 
    daylines 
end 

有沒有辦法縮短這個,但仍然清晰可辨?

+0

你可能要問這對[代碼審查(http://codereview.stackexchange.com)。這是爲了這些問題。 –

+1

這個問題似乎是脫離主題,因爲它屬於代碼審查 – sevenseacat

回答

2
def self.show_day_rows(days, month, year, offset) 
    1.step(days,7).map do |line_starts_with| 
    CalDay.line_of_day_nums(month, year, line_starts_with, offset) 
    end 
end 
0

@ tihorn的回答有輕微的變體:

def self.show_day_rows(days, month, year, offset) 
    1.step(days,7).inject([]) do |daylines, line_starts_with| 
    daylines << CalDay.line_of_day_nums(month, year, line_starts_with, offset) 
    end 
end