Ruby 4.1 リファレンスマニュアル

singleton method IO.open

open(fd, mode = "r", **opts) -> IO[permalink][rdoc][edit]
open(fd, mode = "r", **opts) {|io| ... } -> object
(int fd, ?string | int mode, ?path: string?, ?external_encoding: String | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String) → instance
[X] (int fd, ?string | int mode, ?path: string?, ?external_encoding: String | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String) { (instance) → X } → X

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

ブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。

[PARAM] fd:
ファイルディスクリプタである整数を指定します。
[PARAM] mode:
IO.new の mode と同じです。
[PARAM] opts:
キーワード引数。指定できるオプションは IO.new を参照してください。
[EXCEPTION] Errno::EXXX:
IO オブジェクトの生成に失敗した場合に発生します。
例
p IO.open(IO.sysopen("testfile")) { |io| p io.class } # => IO

[SEE_ALSO] IO.new