ruby/doc/stringio/getbyte.rdoc

32 lines
757 B
Plaintext

Reads and returns the next integer byte (not character) from the stream:
s = 'foo'
s.bytes # => [102, 111, 111]
strio = StringIO.new(s)
strio.getbyte # => 102
strio.getbyte # => 111
strio.getbyte # => 111
Returns +nil+ if at end-of-stream:
strio.eof? # => true
strio.getbyte # => nil
Returns a byte, not a character:
s = 'Привет'
s.bytes
# => [208, 159, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130]
strio = StringIO.new(s)
strio.getbyte # => 208
strio.getbyte # => 159
s = 'こんにちは'
s.bytes
# => [227, 129, 147, 227, 130, 147, 227, 129, 171, 227, 129, 161, 227, 129, 175]
strio = StringIO.new(s)
strio.getbyte # => 227
strio.getbyte # => 129
Related: #each_byte, #ungetbyte, #getc.