無稽筆談
2006-03-30 くもりのちはれ
■ ガンメタルブラック
レポートの内容は2週間前と変わらず。それでも少しずつは良くなっているのだろうか...。
■ ごみの収集日
ワシの住む半田市では、この4月からごみの分類が増えて収集日が変わる。種類によっては隔週の収集になるため、収集日に忘れずごみを出す自信がまるでない。最初はBecky! Internet Mailのリマインダを設定して収集日を通知することを考えたのだが、いざ設定しようとすると意外にこれが面倒くさい(第何何曜日という書き方だとどうしても設定数が増えるし、加えて第5週があるときがうまく書けない)。そこでRubyで以下のスクリプトを書いて、毎日早朝に動かすことにした。
#!/usr/bin/ruby
require 'kconv'
require 'net/smtp'
today = Time.now
week = (today.day - 1) / 7 + 1
type = ''
if today.wday == 1 or today.wday == 4
type = '燃やせるごみ'
elsif today.wday == 5
type = 'プラスチック'
elsif today.wday == 3
if week == 2 or week == 4
type = '燃やせないごみ'
else
type = 'ペットボトル'
end
else
exit
end
subject = [ type.tojis ].pack('m').chomp
body = '今日は ' + type + ' の収集日です。'
Net::SMTP.start('localhost') do |smtp|
smtp.ready('higashi', 'higashi') do |f|
f.write "Subject: =?ISO-2022-JP?B?" + subject + "?=\r\n"
f.write "To: higashi\r\n"
f.write "\r\n"
f.write body.tojis + "\r\n"
end
end
Rubyistの方々から見れば、おそらくとてもお粗末なコードなのだと思うが(^^ゞ、ともあれこれでごみの収集日にそれを通知するメールが飛んでくるはずだ。
[ツッコミを入れる]