【发布时间】:2023-03-04 03:57:01
【问题描述】:
如果我有如下所示的代数数据类型
data BinaryTree a = Leaf
| Node a (BinaryTree a ) (BinaryTree a)
deriving (Eq,Ord)
这里的叶子是空的,a是节点,另外两个参数是来自节点的子树。
有没有办法可以指定参数 a 应该派生 Show
我试图为 BinaryTree 提供我自己的 Show 实现,我一开始很简单:
instance Show (BinaryTree a) where
show Leaf = "x"
show (Node node left right) = show node++ "\n" ++ show left ++" "++show right
但是show node 不起作用 -> No instance for (Show a) arising from a use of ‘show’
【问题讨论】:
标签: haskell