names=insert_output
visibility=public
kind=defined

--- insert_output(string) -> nil
変換器内のバッファに文字列を挿入します。
バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。

変換先がステートフルなエンコーディングであった場合、
挿入された文字列は状態に基づいて変換され、状態を更新します。

このメソッドは変換に際してエラーが発生した際にのみ利用されるべきです。

@param string 挿入する文字列

  ec = Encoding::Converter.new("utf-8", "iso-8859-1")
  src = "HIRAGANA LETTER A is \u{3042}."
  dst = ""
  p ec.primitive_convert(src, dst)    #=> :undefined_conversion
  puts "[#{dst.dump}, #{src.dump}]"   #=> ["HIRAGANA LETTER A is ", "."]
  ec.insert_output("<err>")
  p ec.primitive_convert(src, dst)    #=> :finished
  puts "[#{dst.dump}, #{src.dump}]"   #=> ["HIRAGANA LETTER A is <err>.", ""]
  
  ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
  src = "\u{306F 3041 3068 2661 3002}" # U+2661 is not representable in iso-2022-jp
  dst = ""
  p ec.primitive_convert(src, dst)    #=> :undefined_conversion
  puts "[#{dst.dump}, #{src.dump}]"   #=> ["\e$B$O$!$H".force_encoding("ISO-2022-JP"), "\xE3\     x80\x82"]
  ec.insert_output "?"                # state change required to output "?".
  p ec.primitive_convert(src, dst)    #=> :finished
  puts "[#{dst.dump}, #{src.dump}]"   #=> ["\e$B$O$!$H\e(B?\e$B!#\e(B".force_encoding("ISO-20     22-JP"), ""]

