haskell - Haskell 中嵌套列表的模式匹配

标签 haskell

我想使用嵌套数为 2 的嵌套列表来表示矩阵(例如 [[1,2,3],[4,5,6]])。我如何定义一个处理小子矩阵(比如 2*2)的函数?我期待这样的事情: f (a1:a2:a) : (b1:b2:b) : x = ... 其中 a1、a2 是第一行的两个连续元素,b1、b2 — 第二行。 a、b分别是第一行和第二行的其余部分。 x 是矩阵的其余行。

但这显然行不通。

提前致谢!

最佳答案

I expected something like this: f (a1:a2:a) : (b1:b2:b) : x = ...

你的想法是正确的。您所缺少的只是一对括号:

f ((a1:a2:a) : (b1:b2:b) : x) = ...

关于haskell - Haskell 中嵌套列表的模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839615/

相关文章:

haskell - 是否可以用 Haskell 或任何其他语言编写一个或多个仅表示封闭术语的数据结构?

haskell - 编译错误 - 无法推断 Ord

haskell - 如何完成 race_ 功能?

Haskell 堆栈在构建时忽略 -Wall -Werror cabal ghc-options 标志

haskell - "+"的类型在 Haskell 中意味着什么

在 Haskell 中定义为 Maybe 的列表?为什么不?

haskell - Paths_pandoc.hs是如何生成的?

haskell - 名义类型角色和数据系列

haskell - 在 ghci 中加载已编译模块时出现“加载接口(interface)失败”错误

haskell - 将有效的 forall 类型归因于 let-bound 变量时出现类型错误