instance method IO#close

close -> nil[permalink][rdoc]

入出力ポートをクローズします。

以後このポートに対して入出力を行うと例外 IOError が発生します。ガーベージコレクトの際にはクローズされていない IO ポートはクローズされます。 self がパイプでプロセスにつながっていれば、そのプロセスの終了を待ち合わせます。

既に close されていた場合には単に無視されます。

[EXCEPTION] Errno::EXXX:
close に失敗した場合に発生します。


IO.write("testfile", "test")
f = File.open("testfile")
f.read   # => "test"
f.close
# f.read # => IOError (すでに close しているので read できない)

[SEE_ALSO] IO#closed?, IO#close_read, IO#close_write