singleton method PrettyPrint.format

format(output = '', maxwidth = 79, newline = "\n", genspace = lambda{|n| ' ' * n}) {|pp| ...} -> object[permalink][rdoc]

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。与えられた output を返します。

以下と同じ働きをするもので簡便のために用意されています。

require 'prettyprint'

begin
  pp = PrettyPrint.new(output, maxwidth, newline, &genspace)
  ...
  pp.flush
  output
end
[PARAM] output:
出力先を指定します。output は << メソッドを持っていなければなりません。
[PARAM] maxwidth:
行の最大幅を指定します。ただし、改行できないものが渡された場合は、実際の出力幅は maxwidth を越えることがあります。
[PARAM] newline:
改行に使われます。
[PARAM] genspace:
空白の生成に使われる Proc オブジェクトを指定します。生成したい空白の幅を表す整数を引数として呼ばれます。