A Day in the Life

はてな Rubyのプログラムで今月「日曜日」が何回あるのか教えてください。

http://www.hatena.ne.jp/1129120181

なにやら面白そうなので返答を見ずにやってみた。railserっぽくactive_supportの最新を利用。

require '/home/gorou/src/rails_dev/activesupport/lib/active_support'

time = Time.now
days = Time.days_in_month(time.month, time.year)
puts (1..days).find_all{|day| time.change(:mday => day).to_date.wday.zero? }.size

まずTime#days_in_month を使って月と年を入れ、その月が何日あるかを求める。次に一日一日をtime.changeで変更させていき、to_dateでDATEにしてwdayが0(日曜)の日が何日あるかを求めてる。

けど冗長すぎだなぁ(わらい

記事の一覧 >