summaryrefslogtreecommitdiff
path: root/doc/stringio/getbyte.rdoc
blob: 5e524941bca4ae8ea61af2d065539ca0d51d43c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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.