我正在尝试理解抽象数据类型。在下面的代码中,我应该为抽象数据类型编写一个函数。 createMatrix
接受x行和y列数量的元组以及一些元素z,并用该元素填充矩阵。
我是Haskell的新手并且对所有基础知识都很满意,但我对如何为抽象数据类型实现此函数感到非常困惑。
我非常感谢有关如何做到这一点的任何建议。
非常感谢提前!
newType Matrix a = Mat ((Int, Int), (Int,Int) -> a)
createMatrix (x,y) z =
答案 0 :(得分:1)
你已经到了
createMatrix (x,y) z = {-TODO-}
明显的下一步是
createMatrix (x,y) z = Mat ( {-TODO-} , {-TODO-} )
为什么这很明显?
Matrix a
的值;这只有一个构造函数Mat
:所以这个值必须从这个开始。Mat
构造函数采用单个值,一对。我们没有一对正确的类型,所以我们必须制作一个。同样,只有一个构造函数( , )
,这就是我们使用的。重要的是,我只是通过遵循类型(并假设您没有准备好调用任何辅助函数)来完成此操作。