今月14日に,kanji-sorter.rbをリリースしました.GitHub - takehiko/KanjiSorter: Kanji Sorterより参照・取得できます.これは,入力に含まれている漢字を,小学校で学習する学年(または配当外)に振り分けるRubyスクリプトです.
実行例を示します.
$ cat README.md KanjiSorter =========== 引数の文字列、または引数で指定されたファイルに対して、 含まれている漢字を、小学校で学習する学年(および配当外)に振り分け、 その出現回数を出力します。 以前に[漢字チェッカー](http://d.hatena.ne.jp/takehikom/20110303/1299099469)([gist](https://gist.github.com/851715))を公開していました。 このファイルをベースに修正を重ね、kanji-sorter.rbとしてリリースしました。 $ ruby kanji-sorter.rb -i README.md 1年(9種14字): 学学学校字字字出出小正年文力 2年(8種11字): 引引回外公数数数前当分 3年(9種10字): 開漢漢指習重対定配列 4年(1種1字): 以 5年(2種2字): 現修 6年(0種0字): 配当外(2種2字): 含振
READMEに書いたとおり,漢字チェッカーの発展版です.入力は,デフォルトではコマンドライン引数から獲得しますが,-iオプションをつけていればファイルを読み出します.文字コードはUTF-8限定,Rubyは1.8/1.9両対応なのは,これまでと同じです.
ところで個人的には,これが,RSpecを取り入れた初めてのRubyプログラミングとなります.もとあるプログラムを書き換えながら,RSpecのコードを書いていったので,behaviour driven development (BDD)ではありませんが.
RSpecの自習にあたり,以下のページを起点に,多くのことを学びました.
- るびま
- RSpec を使い始める人が読むべき N 個のドキュメント │ Aiming 開発者ブログ
- RSpecの標準Matcher一覧表 - 本当は怖い情報科学
- rspec-core/spec at master · rspec/rspec-core · GitHub
RSpecの入門であまり触れられていないけれど,自分で書く中で理解したのを2件,書き残しておきます.