【发布时间】:2020-01-30 21:46:44
【问题描述】:
我是 Haskell 的新手,我很难弄清楚。 假设我有一个矩阵,我想将所述矩阵分成 rows 和 cols。我该怎么做?
-- set up
type Matrix m = [Row m]
type Row m = [m]
-- gets rows from matrix
rows :: Matrix m -> [Row m]
rows = ???
-- gets cols from matrix
cols :: Matrix m -> [Row m]
cols = ???
【问题讨论】:
-
您的
Matrix m类型已经定义为[Row m],因此它已经表示为行列表(或列,取决于您的想法),你不需要在那里做任何事情。另一种可以使用transpose函数。 -
再一次,我很新。我应该如何使用转置?如果我确实想将行设置为某些东西,即使它已经在行专业中,我该怎么做?感谢您的帮助。
-
您是否查看了我提供的文档链接中的示例?在我看来,他们非常清楚
transpose的作用以及如何使用它。恐怕我不明白你的第二个问题。 -
行是否只是“行 = 行”(如果我想将某些内容放在行所在的位置)。 cols 会是“ cols = transpose”吗?再说一次,我还在学习,所以请原谅我的无知。
-
@JonPurdy - 公平点,但我认为很明显这不是这里发生的事情,提到这种情况可能只会让 OP 感到困惑。
标签: list haskell matrix functional-programming