diff options
Diffstat (limited to 'mrbgems/mruby-io/mrblib')
| -rw-r--r-- | mrbgems/mruby-io/mrblib/io.rb | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/mrbgems/mruby-io/mrblib/io.rb b/mrbgems/mruby-io/mrblib/io.rb index 034f88529..a60562846 100644 --- a/mrbgems/mruby-io/mrblib/io.rb +++ b/mrbgems/mruby-io/mrblib/io.rb @@ -184,6 +184,11 @@ class IO nil end + def ungetbyte(substr) + substr = substr.chr if substr.is_a? Integer + ungetc substr + end + def read(length = nil, outbuf = "") unless length.nil? unless length.is_a? Integer @@ -290,12 +295,21 @@ class IO begin readchar rescue EOFError - c = @buf[0] - @buf[0,1]="" if c nil end end + def readbyte + _read_buf + IO._bufread(@buf, 1).getbyte(0) + end + + def getbyte + readbyte + rescue EOFError + nil + end + # 15.2.20.5.3 def each(&block) return to_enum unless block |
