memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

重複件数をカウントするRubyスクリプト

お題

AとBの科目の履修者リスト(学籍番号)があります。AとBを両方とも履修している人数をカウントしたいです。

Rubyで書いてみた(a.rb)

d = {}

open ARGV[0] do |f|

   f.each_line do |l|

     l.chomp!

     d[l] ||= 0

     d[l] += 1

   end

end



d.select! {|k, v| v>1}

準備と実行

AとBの履修者の学籍番号を連結したテキストファイル(data)を用意しておきます。

あとは、上記のコードを入力して、以下のように実行します。

ruby a.rb data

人類総プログラマー計画というお題(!?)がありましたが、小学校でプログラミングが授業に組み入れられはじめ、高校で情報が必修化され、少しずつ現実味が出てきているように思います。

こういうちょっとした雑務を「メンドーだコンピュータにさせたろ」っていう人が増えてきたらいいなと思います。

日本の人件費が相対的に低下しているような気がします。お金を持っている人はプログラミングを学んで自分でやるより人にやらせたろっていう発想をするんでしょうけど。。。(それはそれで仕事を生むんでしょうけど)

GitHubで公開するようなレベルでもない、Excelマクロのような職人文化でもない、フツーの人がフツーに仕事を楽にするスキルとして使える時代がきたらいいな。。。と思います。