pretty printing アルゴリズムのためのライブラリです。
pretty printing アルゴリズムは読みやすいインデントと改行を決定するためのアルゴリズムです。インデントと改行はユーザによって与えられたツリー構造から決定されます。つまりユーザは以下のように表示したい内容を保持したツリーを作成する必要があります。
同じノード内で呼ばれた breakable は、改行するならば全て同時に改行します。
require 'prettyprint' p2 = PrettyPrint.new('', 10) s = 'hello' p2.text(s) p2.group(p2.indent + s.size + 1) do p2.breakable p2.text('a') p2.breakable p2.text('b') p2.breakable p2.text('c') end p2.flush puts p2.output #=> hello a b c
Christian Lindig, Strictly Pretty, March 2000, http://www.st.cs.uni-sb.de/~lindig/papers/pretty/strictly-pretty.html
Philip Wadler, A prettier printer, March 1998, http://homepages.inf.ed.ac.uk/wadler/topics/language-design.html#prettier
PrettyPrint | pretty printing アルゴリズムのためのクラスです。改行の位置を探し、きれいなインデントを施します。 |