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

instance method IO#flush

flush -> self[permalink][rdoc]

IO ポートの内部バッファをフラッシュします。

このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。 即座にメタデータも更新したいときは IO#fsync を使います。

[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
fflush(3) が失敗した場合に発生します。


require "tempfile"

Tempfile.open("testtmpfile") do |f|
  f.print "test"
  File.read(f.path) # => ""
  f.flush
  File.read(f.path) # => "test"
end