Stream使う必要なんて無いというツッコミは禁止です。Stream用のクラスを作る実装するのになにが必要かというと、"入力時にログを吐くストリーム"クラスを作って、メソッドを実装すること。*query-io*)))回答する際は*query-io*からreadやread-lineしてるようなので、こいつのかわりに定義したクラスのオブジェクトからread-lineするようにしてやる。read-lineで得た文字列にread-from-stringを使うという手段で問題を回避した。ダイナミックにいこうさて、あとはread-lineを実装するだけ、と、いい気分になってメソッドを実装してる途中に根本的な問題に気づいた。最初に書こうとしたread-lineの実装はこのようなもの。line))なにが問題なのかと言うと、read-lineにログへ出力したい情報を渡せないということ。このままだと入力した回答しかログに残せず、正解なのか間違いなのかも分からない。これではログの価値はたぶん消え去る。nil)ダイナミック変数を使う、でした。これならread-lineを呼ぶ前にletで設定して呼び出し元から情報を渡せそうだ。最終的なread-lineがこちら。line))きっとツッコミどころはたくさんあるのだろうなぁ。人に見られるコードを書くというプレッシャーの中で、普段考えないことを考て勉強になったと思う。いったネタをやっているのを見つけたら、恐れずに参加するようにしたい。まさるや(2010/01/25)大学に行く途中で寄り道して、日本酒を買った。まさるやという名前の、小田急線鶴川駅(町田から2駅)から徒歩30分くらいの団地の中にある酒屋だった。Specification前に調べたことをメモしておく。Specification準拠のブートローダ(つまりはGRUB)からカーネルを起動したときの状態について。未設定カーネルが読み込まれるのは0x100000番地アセンブラで書いたカーネルの先頭が0x100000となるようにリンカスクリプトを書く。OS2010年1月1日金曜日2010年初めての飲酒あけましておめでとうございます。2010年がやってきたようなので、手をつけずにいたウィスキーを飲むことにしました。10月辺りに買っておいたキルホーマン3年ファーストリリースINAUGURALです。空になっても、記念に瓶をとっておこうかと思います。