2006年2月19日日曜日

小学生漢字のチェックプログラム

例によって今日も休日出勤中なのですが、すこし時間ができたので作りかけていたプログラムを仕上げました。



プログラムといっても、Ruby スクリプトで、内容もゲームシナリオ中の漢字を調べるだけのシンプルなツールです。具体的には、漢字が「小学校で習う漢字かどうか?」を判定して、該当しない場合には、その漢字がみつかったファイル名と、行数、該当漢字を表示するという、本当にシンプルなモノなんです。



しかし、このようなシンプルな内容のプログラムこそ、スクリプト言語の出番なんですよね。気軽にプログラムが書けるし、ライブラリも充実しているので、短時間で成果を上げることができます。



実は、昨日の段階で簡単に動作するトコロまでは作っていたので、今日はより便利にするための改良を加えていきました。ナニをやったかというと、「指定されたフォルダ以下の全ファイル&フォルダを自動的に調べる」という機能追加です。



ローカルファイルの検索などではおなじみの機能ですが、これまで Ruby でこの機能を書いた事がなくって、以前から、一度、やってみたいと思っていたんですね。で、せっかく書くからには、より Ruby らしい書き方で、可能な限りシンプルに実現したいと思って、イロイロと調べたんですよ。そしたら、実は、これが恐ろしく簡単だということが判明。Find というクラスを使えば、ほとんど全部やってくれて、それでおしまいという、コーディングより、その調査のほうが時間がかかるくらいのシロモノだったんです。ちょっと拍子抜けしてしまいました。



しかも、改良されたプログラムを動かしてみたところ、効果は絶大で、自動で次々とファイルを検索し、チェックして警告をはき出してくれる姿(?)は感動的です。Find クラス、最高でした!いままで使っていなかったのが、あまりにもったいなかったくらいです。



その後、いくつかのデバッグをおこなって、他人も使えるようにドキュメントを書いて、Subversion へ commit して、終了~



こんなシンプルなプログラムでも、やっぱり、プログラムって楽しいですね。



ところで、普段は Ruby の文献はネットで検索して探すんですケド、今回は会社にあった本も参考にしてみました。ネットの情報と違って、書籍は検索性こそ劣るものの、内容のまとまり具合に関しては段違いだって事を再認識しました。質の良い情報がちゃんとまとまっているというのはやはり、便利です。ちなみに今回、参考にした本は Rubyレシピブック 268の技

という本で、Ruby でたまにプログラムをする必要がある人などには、なかなかオススメでだとおもいます。










Rubyレシピブック 268の技


Book

Rubyレシピブック 268の技


著者:青木 峰郎,後藤 裕蔵,高橋 征義,まつもと ゆきひろ

販売元:ソフトバンククリエイティブ

Amazon.co.jpで詳細を確認する



0 件のコメント: