についてツイートでちょっと触れましたが、
https://twitter.com/tsaka1/status/834770830399647744
実はそんなに処理が複雑ではない事に気づいて、しょうもないサンプルプログラムを書いてみました。
Rubyの標準ライブラリにあるDateクラスを使って、年月日を入力するとその日が祝日なら、その名前を、それ以外なら曜日を表示するというものです。Windows上でsjisで書いたプログラムです。
なお、大したことはしてないので、解説は略します:-)
で、問題は来年以降もこのプログラムが無修正で使える形式で提供されるかどうかですよね:-)
#! ruby # coding: sjis # # 「内閣府ホーム > 内閣府の政策 > 制度 > 国民の祝日について」 # http://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html # のCSVファイルを使って祝日かどうかを返すプログラム例 # FNAME = "syukujitsu.csv" require("csv") require("date") WDAYS = [ "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" ] $holidays = Hash.new CSV.open(FNAME){ | cs | header1 = cs.gets header2 = cs.gets while row = cs.gets while !row.empty? name, date = row.shift(2) if !name || !date break end $holidays[Date.parse(date)] = name end end } puts("年月日を入力してください。入力終了はENTERのみです。") while keyin = gets if keyin == "\n" break end d = Date.parse(keyin.chomp) if n = $holidays[d] printf("%s: %s\n", d.strftime("%Y/%m/%d"), n) else printf("%s: %s\n", d.strftime("%Y/%m/%d"), WDAYS[d.wday]) end end