对于数据的方便分析数据的树输出我想使用这对于下面的代码库:库进行分析
data SomeType = A [String] Int | B | C Int deriving (Eq, Ord, Show)
main = do
let theData = A ["a", "b", "c"] 9 : C 3 : B : []
putStr $ treeString theData -- `treeString` is the implied library function
会产生类似以下的输出:
- A:
| - - a
| | - b
| | - c
| - 9
- C:
| - 3
- B
有没有这样的图书馆?或者,也许更好的方法来解决这个问题?
谢谢!输出非常好,但toTree实现看起来像纯粹的样板。没有更通用的解决方案吗? –
@NikitaVolkov:你可能可以用泛型做些事情,但是你会想要像列表或字符串这样的特殊情况,以便它们不会呈现为巨大的“(:)”节点树。 – hammar
发现如何做到这一般。看到我的答案 –