メモ:修正した行は?修正してない行は?

ちょっとした確認依頼にちょっとしたコードで対応できるRubyって素敵
依頼内容を聞きつつコードを書くのが当たり前になりつつある(^^ゞ

# files
before  = File.open("before.csv").lines.to_a
after   = File.open("after.csv").lines.to_a

# conditions
matched     = lambda{|(b, a)| b==a}
mismatched  = lambda{|(b, a)| b!=a}

# select+map
matched_before    = before.zip(after).grep(matched){|(b, a)| b}
matched_after     = before.zip(after).grep(matched){|(b, a)| a}
mismatched_before = before.zip(after).grep(mismatched){|(b, a)| b}
mismatched_after  = before.zip(after).grep(mismatched){|(b, a)| a}

# display
{
  "matched:before"    =>  matched_before,
  "matched:after"     =>  matched_after,
  "mismatched:before" =>  mismatched_before,
  "mismatched:after"  =>  mismatched_after,
}.each{|header, data| puts [header, data]}



業務運用担当者なので電話での問い合わせ対応を結構するのだが、話しながら
irbを立ち上げて対応していることが多い(^^)
ファイルやディレクトリの検索、ファイル内検索、話相手に確認を取りながら
柔軟に調べる必要がある場合などで本当に役に立っている


Windowsも標準装備にしてくれないかなー