Method: IO.open
- Defined in:
- io.c
permalink .open(*args) ⇒ Object
call-seq:
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.
8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 |
# File 'io.c', line 8164
static VALUE
rb_io_s_open(int argc, VALUE *argv, VALUE klass)
{
VALUE io = rb_class_new_instance_kw(argc, argv, klass, RB_PASS_CALLED_KEYWORDS);
if (rb_block_given_p()) {
return rb_ensure(rb_yield, io, io_close, io);
}
return io;
}
|