--- PrettyPrint.new([output[, maxwidth[, newline]]]) [{|width| ...}]
#    creates a buffer for pretty printing.

    pretty printing ΤΥХåեޤ

#    output is an output target.
#    If it is not specified, '' is assumed.
#    It should have a << method which accepts
#    the first argument obj of PrettyPrint#text,
#    the first argument sep of PrettyPrint#breakable,
#    the first argument newline of PrettyPrint.new,
#    and
#    the result of a given block for PrettyPrint.new.
    output Ͻǡ
    ⤷ꤵʤ '' ꤵޤ
    Υ֥ȤϼΤΤդ << 
    ᥽åɤäƤʤФʤޤ󡣤ϡ
    PrettyPrint#text 1 obj
    PrettyPrint#breakable 1 sep
    PrettyPrint.new 1 newline
    
    PrettyPrint.new Ϳ줿֥åɾ̤Ǥ

#    maxwidth specifies maximum line length.
#    If it is not specified, 79 is assumed.
#    However actual outputs may overflow maxwidth if
#    long non-breakable texts are provided.

    maxwidth ϹԤκꤷޤ
    Ϳʤ 79 ꤵޤ
    ԤǤʤΤϤ줿
    ºݤν maxwidth ۤ뤳Ȥޤ

#    newline is used for line breaks.
#    "\n" is used if it is not specified.
    newline ϲԤ˻Ȥޤ
    ꤵʤ "\n" ꤵޤ

#    The block is used to generate spaces.
#    {|width| ' ' * width} is used if it is not given.
    ֥å϶ޤ
    ꤵʤ {|width| ' ' * width} Ȥޤ

