献血した日付, 種類を入力すると, 次回の献血可能日を計算してくれるス クリプトです. オブジェクト 指向スクリプト言語 Ruby で記述されていて, bdrec.rb で定義されてい る BloodDonationRecord クラスを利用しています.
時流に反し, 視覚的なインターフェースはなく, 武骨に コマンドを入力して利用します.
bdrec.rb が必要なので, あらかじめ適当な :-) ディレクトリに置いてお
いて下さい.
bcal.rb を起動すると, bcal>
というプロンプトが出ま
す. Ruby の拡張モジュール readline を使ってますので, それなりの操作が
可能です.
コマンドには, 以下のものがあります. いわゆる半角文字であれば, 基本 的に大文字, 小文字は問いません. プロンプトに続けてコマンド, そして必要 に応じてオプションなどを続けて下さい.
bcal> a YYYY MM DD type
献血記録を追加します. 年は西暦で, 下 2 桁だけじゃなくてきちんと入力して下さい. 月は 1 から 12 まで. 日は 1 から 28, 29, 30, 31 のいずれかまで になります.
type には "200ml
",
"400ml
",
"PLT
" (Platelet, 血小板),
"PLS
" (Plasma, 血漿),
"PLT + PLS
" (Platelet (血小板) + Plasma
(血漿)) の
いずれかを指定します. ソースファイルを見るとわかりますが, 実は
少しだけ省略して入力することもできます.
bcal> d YYYY MM DD
献血記録を消します. コマンドに続けて, 年月日を指定します.
bcal> l type
献血の記録を表示します. type には
"d
" (Donate, 献血した日) と
"c
" (Cannot donate, 献血できない日) の
どちらかを指定します. 「献
血した日」とは入力された年月日を, 「献血できない日」とは入力さ
れた献血日の中で一番新しい日以降において献血不可能な日を, それぞ
れ意味します.
ただし普通の人にとっては, type に
"c
" を指定するくらいなら,
n コマンドの方が便利でしょう.
bcal> x type
性別を変更します. type には
"f
" (Female) か
"m
" (Male) を指定し
ます. type に何も指定しないときは, 現在設定されている性別が表
示されます.
bcal> n
次の献血可能な日を, 献血の種類毎に表示します.
bcal> r filename
それまで扱っていたデータは破棄され, ファイルに保存されたデータが新規に読み込まれま す. filename にファイル名を指定します.
bcal> s filename
扱っていたデータを, filename に指定したファイル に保存します. 保存されるデータは, 性別と, 献血した日と種類です. テキストデー タなので, ソースを読める人 or 勘のいい人ならエディタなどでデー タを編集することができるでしょう.
bcal> h
下手な英語で書かれたヘルプメッセージが表示されます.
bcal> q
終了します. ファイルにデータを保存していないときでも, 確認 しないですぐに終了します.
$ bcal.rb # 起動 bcal> x m # 性別を男にする You are Male bcal> a 1999 7 18 PLT # 1999/07/18 に血小板 1999-07-18 Platelet added bcal> n # 次はいつ? Your next donation date is 200ml 1999-08-01 400ml 1999-08-01 Platelet 1999-07-25 Plasma 1999-08-01 bcal> s dona.dat # dona.dat というファイルに保存 Saved to "dona.dat" bcal> q # 終了 See you again (^o^)/~~
Copyright (C) 1999, Masahiro SATO