List Haskell中的列表平方

List Haskell中的列表平方,list,function,haskell,List,Function,Haskell,我在Haskell中生成函数来得到列表的平方。这是我的密码 sqrall :: [Int] -> [Int] sqrall [] = [] sqrall [x] = map (^2) x 但那个密码不起作用我不知道我在哪里丢失了。。请帮助我..您需要从函数定义左侧的非空列表模式中删除方括号 以下工作将起作用: sqrall x = map (^2) x sqrall [1,2,3] -- [1,4,9] 请注意,此处不需要空列表的基本大小写,因为map可以很好地处理空列表,并且是按照

我在Haskell中生成函数来得到列表的平方。这是我的密码

sqrall :: [Int] -> [Int]
sqrall [] = []
sqrall [x] =  map (^2) x

但那个密码不起作用我不知道我在哪里丢失了。。请帮助我..

您需要从函数定义左侧的非空列表模式中删除方括号

以下工作将起作用:

sqrall x = map (^2) x
sqrall [1,2,3] -- [1,4,9]

请注意,此处不需要空列表的基本大小写,因为
map
可以很好地处理空列表,并且是按照您的想法处理的。参见pdoherty926的答案。我们可以将其简化为
sqrall=map(^2)