instance method StringIO#ungetc

ungetc(str_or_int) -> nil[permalink][rdoc][edit]

文字列か整数で指定された str_or_int を自身に書き戻します。 nil を返します。

何回でも書き戻すことが可能です。現在位置が自身のサイズよりも大きい場合は、自身をリサイズしてから、ch を書き戻します。

[PARAM] str_or_int:
書き戻したい文字を文字列か整数で指定します。複数の文字を書き戻す事もできます。
[EXCEPTION] IOError:
自身が読み込み可能でない時に発生します。


require "stringio"
s = StringIO.new("hoge")
s.pos = 1
s.ungetc("H")
p s.string   # => "Hoge"
p s.pos      # => 0

s = StringIO.new("hoge")
s.pos = 1
s.ungetc("H".ord)
p s.string   # => "Hoge"
p s.pos      # => 0

s = StringIO.new("hoge")
s.pos = 4
s.ungetc("HOGE")
p s.string   # => "hogHOGE"
p s.pos      # => 3

s = StringIO.new("hoge")
s.pos = 8
s.ungetc("A")
p s.string   # => "hoge\000\000\000A"
p s.pos      # => 7