首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析Haskell中输入“where”的错误

解析Haskell中输入“where”的错误
EN

Stack Overflow用户
提问于 2017-03-24 06:17:49
回答 1查看 1.9K关注 0票数 1

因此,我试图创建一个糟糕的排序函数,给定一个列表,在删除重复项的同时对其进行排序,然后将列表的开头加上“0”,以确保排序错误的新列表的长度与原始列表的大小相同。

这是我的密码:

代码语言:javascript
复制
dodgySort4 xs = (replicate ((length xs) - (length (badQuick xs)) 0) : badQuick xs
  where
    badQuick  [] = []
    badQuick (x:xs) = (badQuick lesser) ++ [x] ++ (badQuick greater)
      where
          lesser  = filter (< x) xs
          greater = filter (> x) xs

但是,我一直在第一个地方的开头得到“输入的解析错误‘where’”错误,我不太确定问题是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-24 07:09:29

这与where无关,)replicate不匹配。类型也不匹配,请将:更改为++修复问题。

代码语言:javascript
复制
dodgySort4 :: (Ord a, Num a) => [a] -> [a]
dodgySort4 xs = (replicate ((length xs) - (length (badQuick xs))) 0) ++ badQuick xs
  where ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42992656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档