【发布时间】:2017-03-01 23:27:34
【问题描述】:
我刚开始使用 Haskell 学习函数式编程,在下面的案例中我需要你的帮助。
这个想法是通过以下方式使用 show 函数显示一个矩阵:
> Mat [[1,2,3],[4,5,6]]
1 2 3
4 5 6
我已经有实现上述结果的建议解决方案,但我不是特别了解。
data Mat a = Mat {mrows :: [[a]]}
instance (Show a) => Show (Mat a) where
show = unlines . map (unwords . map show) . mrows
我在互联网上搜索了这部分Mat {mrows :: [[a]]},但找不到任何有用的答案。为什么我们不能将其声明为Mat [[a]]?
另外,最后一行究竟是如何实现上述结果的。如果答案太明显,我很抱歉,但我真的刚刚开始学习 Haskell。
【问题讨论】:
标签: haskell