特定の月の特定の曜日の日付配列を取得します
仕様
7月の全ての金曜日をYYYY/MM/DD (曜日)
のスタイルで出力する
stepを利用+固定日付を指定するケース
プログラム
require 'date' Date.new(2015,7,3).step(Date.new(2015,7,31), 7) { |e|puts e.strftime("%Y/%m/%d (金)") }
出力
2015/07/03 (金) 2015/07/10 (金) 2015/07/17 (金) 2015/07/24 (金) 2015/07/31 (金)
Rangeを利用+基準日を元に固定値を利用しないケース
※固定値を利用しないといいつつ曜日は固定値なのはスルー推奨
プログラム
require 'date' base = Date.new(2015,7) print (base...base.next_month).select{ |e|e.friday? } .map{ |e|e.strftime('%Y/%m/%d (金)') } .join("\n")
出力
2015/07/03 (金) 2015/07/10 (金) 2015/07/17 (金) 2015/07/24 (金) 2015/07/31 (金)
応用問題
※模範解答の公開等はしません
応用問題1
2016年2月のすべての月曜日をYYYY/MM/DD (曜日)
のスタイルで出力してください。
応用問題2
2016年2月のすべての火・水曜日をYYYY/MM/DD (曜日)
のスタイルで出力してください。