在 Haskell 中,当您进行模式匹配时,您必须像此示例代码中那样解包
data Mlist a = Mlist [a]
instance Show a => Show (Mlist a) where
show (Mlist xs) = show xs
m = Mlist [1, 2, 3]
然后当我输入m
解释器时,我期望“{1,2,3}”但我得到 [1,2,3]。这里有什么问题?我认为这会起作用,因为我在 xs 上使用了 show 功能。
在 Haskell 中,当您进行模式匹配时,您必须像此示例代码中那样解包
data Mlist a = Mlist [a]
instance Show a => Show (Mlist a) where
show (Mlist xs) = show xs
m = Mlist [1, 2, 3]
然后当我输入m
解释器时,我期望“{1,2,3}”但我得到 [1,2,3]。这里有什么问题?我认为这会起作用,因为我在 xs 上使用了 show 功能。