2010年9月1日水曜日

Common Lisp でC++風出力

githubを試しに使ってみるテスト。

C++のストリーム出力っぽい雰囲気になるように gray streamsを使ってみました。

http://github.com/kurohuku/manip-stream

動作させるには trivial-gray-streams が必要です。

>(<< (make-instance 'manip-output-stream
:stream *standard-output*)
+binary+
(set-width 8)
(set-fill #\0)
+left+
3)
00000011
#<MANIP-OUTPUT-STREAM {DDF79C9}>

stream-write-stringの引数がstream-manipulatorクラスのオブジェクトの場合、manip-streamを引数としてactionスロットの関数が呼び出され、manip-streamの状態を変化させます。

format関数は高機能なかわりにやたらと複雑なので、こういった書き方のほうが多少はわかりやすくなるかもしれません。

0 件のコメント:

コメントを投稿