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

close

(close stream)

以前に open が返したストリームを閉じ、t を返します。閉じた後はストリームハンドルが無効になり、それ以降の read/read-line/write-line の呼び出しに使ってはいけません。もう一度閉じても何もせず t を返します。*standard-output* を含む標準ストリームは閉じても残り、t を返します。ストリームでない値は期待型 stream の type-error をシグナルします。全バックエンドで動作します。ほとんどのコードでは with-open-file マクロを使うことが望ましく、これは本体が途中で抜けた場合でも対応する close を自動で行ってくれます。

(let ((s (open "out.txt" :output)))
  (write-line "done" s)
  (close s))

ここではストリームを出力用に開いて書き込み、その後閉じています。close の呼び出しはバッファをフラッシュし、ファイルディスクリプタを解放します。