Function CLOSE
close stream &key abort => result
stream - ストリーム(開いているか閉じているかのどちらか)
abort - generalized-boolean。デフォルトはfalse。
result - 引数として受け取った時点で streamが開いているときはtを、 そうでないときは実装依存。
closeはstreamをクローズします。 ストリームのクローズとは、入出力操作を使わないようにする操作です。 ファイルストリームのクローズの実行は、 そのストリームと関連付けられたファイルの間の関係を終了させることであり、 ファイルシステムのトランザクションは終了し、 そのストリームの入出力をもう実施できなくなります。
abortがtrueのときは、 作成されたstreamから生じた全ての副作用に対して 掃除処理を実施しようとします。 もしstreamが生成されそのストリームがファイルの出力を行っていた場合、 そのファイルは削除され、 以前存在していたファイルが取って代わられるようなことはありません。
すでにクローズされているストリームをクローズすることは許されますが、 このようなときはresultは実装依存です。
streamがクローズされたあと、 次の問い合わせ操作はまだストリームに対して実施することができます: streamp, pathname, truename, merge-pathnames, pathname-host, pathname-device, pathname-directory, pathname-type, pathname-version, namestring, file-namestring, directory-namestring, host-namestring, enough-namestring, open, probe-file, directory。
構築されたストリームに対してのcloseの効果は引数のstreamだけです。 複合ストリームの各成分についての効果はありません。
make-string-output-streamによって作成されたストリームについて、 closeしたあとのget-output-stream-stringの結果は指定されていません。
(setq s (make-broadcast-stream)) => #<BROADCAST-STREAM>
(close s) => T
(output-stream-p s) => truestreamは(必要なら)クローズされます。 もしabortがtrueでありstreamが出力ファイルストリームなら、 関連付けられたファイルは削除されるかもしれません。
なし。
なし。
なし。