交换列表元素时出现Haskell错误

阿米尔·纳贝伊(Amir Nabaei)

有谁知道为什么这仍然给我错误?

main = do
print $ check [4,3,2] 0 1 
-- output expected [3,4,2], means just once check and swap not more

check ( modXs, []) _ _  = modXs
check ( modXs, [x]) _ _ = x : modXs
check ( modXs, (x1:x2:xs)) counter limit 
    | x1 > x2 && counter < limit =  x2:check (x1 : xs)  (counter+1) limit
    | otherwise = x1 : check (x2 : xs) counter limit 

错误消息在这里说了一些关于类型的信息,我什至都不明白:

Couldn't match expected type `([a1], [a1])' with actual type `[a1]'
    In the first argument of `check', namely `(x1 : xs)'
    In the second argument of `(:)', namely
      `check (x1 : xs) (counter + 1) limit'
    In the expression: x2 : check (x1 : xs) (counter + 1) limit
丹尼尔·瓦格纳

check期望将元组作为第一个论点;因此,对其进行的所有调用(无论在其内部main还是在其内部)都check必须将其传递给一个元组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算链接列表中的元素时出现细分错误

来自分类Dev

交换textinput值时出现奇怪的错误

来自分类Dev

交换链表中的节点时出现TLE错误

来自分类Dev

交换钉子跳拼图时出现逻辑错误

来自分类Dev

交换列表的元素

来自分类Dev

在列表之间交换元素

来自分类Dev

交换列表中的元素

来自分类Dev

交换列表的元素

来自分类Dev

输入“ =”时出现haskell解析错误

来自分类Dev

当我尝试从链接列表中删除元素时,出现分段错误

来自分类Dev

python程序显示按排序顺序排列列表元素时出现错误

来自分类Dev

使用 random.randint()'s 从列表中按索引绘制元素时出现索引错误

来自分类Dev

交换数组中的元素时得到错误的输出

来自分类Dev

使用元素时出现分页器错误

来自分类Dev

创建列表理解时的 Haskell 错误

来自分类Dev

打印链接列表时出现分段错误

来自分类Dev

尝试显示列表时出现细分错误

来自分类Dev

更新源列表时出现错误

来自分类Dev

从元组转换为列表时,出现错误

来自分类Dev

Python(附加列表时出现内存错误)

来自分类Dev

扩展列表时出现内存错误

来自分类Dev

打印列表时出现 OCaml Stackoverflow 错误

来自分类Dev

更新源列表时出现错误

来自分类Dev

计算Haskell列表中元素的出现并返回最大序列

来自分类Dev

Haskell如何递归计算列表中元素的出现?

来自分类Dev

在python列表中交换元素

来自分类Dev

在python列表中交换元素

来自分类Dev

在python列表中交换元素

来自分类Dev

在迭代std :: deque时擦除元素时出现分段错误