【问题标题】:How to write a custom pretty printer如何编写自定义漂亮的打印机
【发布时间】:2009-04-29 13:20:35
【问题描述】:

在我的职业生涯中经常遇到的一个问题是我有某种数据结构(可能是 s 表达式),我想以人类可读的形式打印它,并带有合理的缩进选择。

是否有书籍或博客文章描述了如何优雅地做到这一点?我对算法的兴趣超过对特定库的兴趣。

【问题讨论】:

    标签: algorithm pretty-print


    【解决方案1】:

    S-Exps 等价于树结构,如果你可以漂亮地打印一棵树,你就可以漂亮地打印一个 s-exp。

    例如,比较:

    (tree
        (value 89)
        (tree
            (value 9)
            nil
            nil)
        (tree
            (value 456)
            nil
            nil))
    

    到:

    89
     +- 9
     +- 456
    

    算法是相同的,唯一的区别是你要打印的周围数据的数量。

    This paper 描述了一种用于漂亮打印树的算法

    This one 描述了一个用于编程语言的漂亮打印机

    【讨论】:

    猜你喜欢
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多