This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

ungetbyte

        # IO.ungetbyte

(from ruby core)
---
    ios.ungetbyte(string)   -> nil
    ios.ungetbyte(integer)  -> nil

---

Pushes back bytes (passed as a parameter) onto *ios*, such that a
subsequent buffered read will return it. It is only guaranteed to
support a single byte, and only if ungetbyte or ungetc has not already
been called on *ios* since the previous read of at least a single byte
from *ios*. However, it can support additional bytes if there is space
in the internal buffer to allow for it.

    f = File.new("testfile")   #=> #<File:testfile>
    b = f.getbyte              #=> 0x38
    f.ungetbyte(b)             #=> nil
    f.getbyte                  #=> 0x38

If given an integer, only uses the lower 8 bits of the integer as the
byte to push.

    f = File.new("testfile")   #=> #<File:testfile>
    f.ungetbyte(0x102)         #=> nil
    f.getbyte                  #=> 0x2

Calling this method prepends to the existing buffer, even if the method
has already been called previously:

    f = File.new("testfile")   #=> #<File:testfile>
    f.ungetbyte("ab")          #=> nil
    f.ungetbyte("cd")          #=> nil
    f.read(5)                  #=> "cdab8"

Has no effect with unbuffered reads (such as IO#sysread).



      

This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.