Macro WITH-OPEN-STREAM

UP


Macro WITH-OPEN-STREAM

Macro WITH-OPEN-STREAM

構文

with-open-stream (var stream) declaration* form*
=> result*

引数と戻り値

var - 変数名
stream - フォーム。評価されストリームが生成されます。
declaration - 宣言式。評価されません。
form - 暗黙のprogn
result - formの返却値

定義

with-open-streamは、streamの一連の操作を実行し、 値を返却し、そしてstreamをクローズします。

varstreamの値を束縛し、 それからformが暗黙のprognとして実行されます。 streamwith-open-streamから退出するときに、 退出が通常時か非通常時に関わらず どんな時でも自動的に閉じられます。 streamは動的エクステントであり、formから退出されたときに そのエクステントは終了します。

form内で変数varに代入を施行したときの結果は未定義です。

例文

(with-open-stream (s (make-string-input-stream "1 2 3 4"))
   (+ (read s) (read s) (read s))) =>  6

副作用

streamは(退出時に)クローズされます。

影響

なし。

例外

なし。

参考

close

備考

なし。


TOP, Github