Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > IOクラス > close

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