小编177*_*775的帖子

将列表分组为Haskell中的n个元素的列表

库中的列表上是否有一个操作来生成n个元素的组?例如:n = 3

groupInto 3 [1,2,3,4,5,6,7,8,9] = [[1,2,3],[4,5,6],[7,8,9]]
Run Code Online (Sandbox Code Playgroud)

如果没有,我该怎么办?

haskell list

23
推荐指数
4
解决办法
1万
查看次数

Haskell - 如何创建矩阵

给定矩阵的大小和位置p.如何用p中的1和其他位置的0填充矩阵?

Ex.: size=(3,3) p=(3,1)

[0 0 0]
[0 0 0]
[1 0 0]
Run Code Online (Sandbox Code Playgroud)

我定义了:

type Matrix= [[Int]]
type Pos = (Int,Int)

f:: Pos->Pos->Matrix
Run Code Online (Sandbox Code Playgroud)

f例如,回报将是:

 [[0,0,0],[0,0,0],[1,0,0]]
Run Code Online (Sandbox Code Playgroud)

我很难开始,即在想法如何实现该功能f.谁能帮我?

haskell list matrix

4
推荐指数
2
解决办法
8240
查看次数

Haskell - 模式中的Parse错误

这段代码:

validate :: Matrix-> Bool
validate x: [] = length x
validate x: xs = (length x == lenght.head $ xs) == (validate tail xs)
Run Code Online (Sandbox Code Playgroud)

产生此错误:

Parse error in pattern: validate
Run Code Online (Sandbox Code Playgroud)

为什么?

我的目标是,如果矩阵的格式正确,即所有行中的列数相等,则返回true,反之亦然.

haskell pattern-matching parse-error

1
推荐指数
1
解决办法
2767
查看次数

使用'nub'功能需要什么?

在Data.list中设置:


"设置"操作

nub :: Eq a => [a] -> [a]
Run Code Online (Sandbox Code Playgroud)

为O(n ^ 2).nub函数从列表中删除重复的元素.特别是,它只保留每个元素的第一次出现.(名称nub的意思是"本质".)这是nubBy的一个特例,它允许程序员提供自己的相等测试.


我不能直接使用这个功能.我如何使用功能小块?我需要进口一些东西吗?

haskell list

1
推荐指数
2
解决办法
980
查看次数

Haskell - 单例和'fromList'

下面的代码是什么意思?

singleton 1 'a' == fromList [(1, 'a')]
Run Code Online (Sandbox Code Playgroud)

haskell

-1
推荐指数
1
解决办法
1384
查看次数

HASKELL - 更改类型

我需要创建一个f:: Log->[String] 能够做到这一点 的函数(((o, i ,d),s) = [(o, i ,d)]

type Log = (Plate, [String])
Run Code Online (Sandbox Code Playgroud)

type Plate = (Pin, Pin, Pin) type Pin = (Char, Int)

haskell haskell-platform

-2
推荐指数
1
解决办法
1349
查看次数