% Function CLOSE
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) => true
streamは(必要なら)クローズされます。 もしabortがtrueでありstreamが出力ファイルストリームなら、 関連付けられたファイルは削除されるかもしれません。
なし。
なし。
なし。