Set*_*jmp 11 algorithm pretty-print
在我的职业生涯中经常遇到的一个问题是我有某种数据结构(可能是一个s表达式),我想用一个人类可读的形式打印出来,并且有合理的缩进选择.
是否有书籍或博客条目描述如何优雅地做到这一点?我对算法比对特定库感兴趣.
dsm*_*dsm 15
S-Exps相当于树形结构,如果你可以漂亮地打印树,你可以漂亮地打印一个s-exp.
例如,比较:
(tree
(value 89)
(tree
(value 9)
nil
nil)
(tree
(value 456)
nil
nil))
Run Code Online (Sandbox Code Playgroud)
至:
89
+- 9
+- 456
Run Code Online (Sandbox Code Playgroud)
算法是相同的,唯一的区别是您要打印的周围数据的数量.
本文描述了一种用于漂亮打印树的算法
这个描述了一个用于编程语言的漂亮打印机