Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 列表参数包含多个元素时发生Haskell get错误_List_Haskell_Parameters - Fatal编程技术网

List 列表参数包含多个元素时发生Haskell get错误

List 列表参数包含多个元素时发生Haskell get错误,list,haskell,parameters,List,Haskell,Parameters,我刚刚进入Haskell,我正在尝试做一个函数,给定一个数字列表,它将返回一个包含所有负数的列表。 所以我做了这个 negative:: [Int] -> [Int] negative [x] = [z | z <- [x], x < 0] 否定::[Int]->[Int] 负[x]=[z|z只需将表达式左侧的[x]替换为x,并将表达式x

我刚刚进入Haskell,我正在尝试做一个函数,给定一个数字列表,它将返回一个包含所有负数的列表。 所以我做了这个

negative:: [Int] -> [Int]

negative [x] = [z | z <- [x], x < 0]
否定::[Int]->[Int]

负[x]=[z|z只需将表达式左侧的
[x]
替换为
x
,并将表达式
x<0
更改为
z<0
(请记住,我们过滤的是单个元素,而不是容器本身)

我会这样做:

negative :: [Int] -> [Int]
negative x = [z | z <- x, z < 0]
否定::[Int]->[Int]
负x=[z | z[Int]
负xs=过滤器(<0)xs

(如果您不知道什么是高阶函数,请忽略上一个示例。您将在学习过程中了解它们)

这个错误经常出现。我想知道是否有一些课程/教程促使初学者使用
[x]
作为任意列表的符号,而不是单例列表。
negative :: [Int] -> [Int]
negative xs = filter (< 0) xs