0

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

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

我将非常感谢有关如何执行此操作的任何建议。

提前谢谢了!

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


createMatrix (x,y) z = 
4

1 回答 1

1

你已经做到了

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

明显的下一步是

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

为什么这应该是显而易见的?

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

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

于 2013-03-16T18:54:05.433 回答