Skip to content
class method

IO.open

(::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
IO.open(fd, mode = 'r', **opts) → io
IO.open(fd, mode = 'r', **opts) {|io| ... } → object

Creates a new IO object, via IO.new with the given arguments.

With no block given, returns the IO object.

With a block given, calls the block with the IO object and returns the block’s value.

See also .new .pipe .for_fd .popen also in 4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0