(rontolisp) docs
← cl パッケージの関数

make-echo-stream

(make-echo-stream input-stream output-stream)

読み取ったものを出力コンポーネントにも書き込む 2way ストリーム (対話エコーの イディオム)。

入力側は Gray ストリームなので、read-line や read-char でディスパッチされ、読み取った各文字は途中で出力コンポーネントにもエコー されます。write-char / write-string は出力側へ直接届きます。エコーされるのは読み 取ったものだけで、peek-char は書き込まずに入力コンポーネントを覗きます。コンポーネントは echo-stream-input-stream と echo-stream-output-stream で取り出せます。

各コンポーネントは正しい方向のストリームでなければなりません。入力側が入力ストリームでない場合、 または出力側が出力ストリームでない場合は type-error を通知します。