抽象数据类型

时间:2013-03-16 18:29:41

标签: haskell matrix abstract-data-type

我正在尝试理解抽象数据类型。在下面的代码中,我应该为抽象数据类型编写一个函数。 createMatrix接受x行和y列数量的元组以及一些元素z,并用该元素填充矩阵。

我是Haskell的新手并且对所有基础知识都很满意,但我对如何为抽象数据类型实现此函数感到非常困惑。

我非常感谢有关如何做到这一点的任何建议。

非常感谢提前!

newType Matrix a = Mat ((Int, Int), (Int,Int) -> a)


createMatrix (x,y) z = 

1 个答案:

答案 0 :(得分:1)

你已经到了

createMatrix (x,y) z = {-TODO-}

明显的下一步是

createMatrix (x,y) z = Mat ( {-TODO-} , {-TODO-} )

为什么这很明显?

  • 您的函数返回类型为Matrix a的值;这只有一个构造函数Mat:所以这个值必须从这个开始。
  • Mat构造函数采用单个值,一对。我们没有一对正确的类型,所以我们必须制作一个。同样,只有一个构造函数( , ),这就是我们使用的。

重要的是,我只是通过遵循类型(并假设您没有准备好调用任何辅助函数)来完成此操作。