2017-12-11 20 views
0

私は[("bird",3,44),("cat",534,3)] :: [(String,Int,Int)]とします。ラ、きれいな印刷結果を得るための最も簡単な方法は何ですか:ハスケルプリティプリント - アクセシブルで実用的な図書館

bird 3 44 
cat 534 3 

Haskellの明確好きなのないきれいな印刷ライブラリ、また多くの例が多いようです。

+1

はまたhttp://hackage.haskell.org/package/tabularを見て、多分http://hackage.haskell.orgこのような何かのために、boxesを使用/パッケージ/ pptable。 –

答えて

2

ほとんどのかわいい印刷ライブラリは、代替レイアウトに焦点を当てています(改行を追加するときなど)。

import Text.PrettyPrint.Boxes 
import Data.List 
table = [("bird",3,44),("cat",534,3)] :: [(String,Int,Int)] 
cols = transpose [ [ animal, show n, show m ] | (animal, n, m) <- table ] 
rendered = render . hsep 2 left . map (vcat left . map text) $ cols 
putStr rendered 

出力:

bird 3 44 
cat 534 3 
関連する問題