Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
Similar to read, but raises EOFError
at end of string instead
of returning nil
, as well as IO#sysread does.
static VALUE strio_sysread(int argc, VALUE *argv, VALUE self) { VALUE val = rb_funcall2(self, rb_intern("read"), argc, argv); if (NIL_P(val)) { rb_eof_error(); } return val; }
See IO#readbyte.
static VALUE strio_readbyte(VALUE self) { VALUE c = rb_funcall2(self, rb_intern("getbyte"), 0, 0); if (NIL_P(c)) rb_eof_error(); return c; }
See IO#readchar.
static VALUE strio_readchar(VALUE self) { VALUE c = rb_funcall2(self, rb_intern("getc"), 0, 0); if (NIL_P(c)) rb_eof_error(); return c; }
See IO#readline.
static VALUE strio_readline(int argc, VALUE *argv, VALUE self) { VALUE line = rb_funcall2(self, rb_intern("gets"), argc, argv); if (NIL_P(line)) rb_eof_error(); return line; }
Similar to read, but raises EOFError
at end of string instead
of returning nil
, as well as IO#sysread does.
static VALUE strio_sysread(int argc, VALUE *argv, VALUE self) { VALUE val = rb_funcall2(self, rb_intern("read"), argc, argv); if (NIL_P(val)) { rb_eof_error(); } return val; }
Similar to read, but raises EOFError
at end of string instead
of returning nil
, as well as IO#sysread does.
static VALUE strio_sysread(int argc, VALUE *argv, VALUE self) { VALUE val = rb_funcall2(self, rb_intern("read"), argc, argv); if (NIL_P(val)) { rb_eof_error(); } return val; }