Haskell-输入时出现分析错误
我有下面的代码 将列表中的每个偶数减半:Haskell-输入时出现分析错误,haskell,Haskell,我有下面的代码 将列表中的每个偶数减半: halfEvens :: [Int] -> [Int] halfEvens [xs] | x `mod` 2 == 0 = x `div` 2 | otherwise = x where x <- xs halfEvens::[Int]->[Int] 半平[xs] |x`mod`2==0=x`div`2 |否则=x 其中x代码中有两个主要问题: 其中块定义函数,因此,您应该使用=而不是 parse error
halfEvens :: [Int] -> [Int]
halfEvens [xs]
| x `mod` 2 == 0 = x `div` 2
| otherwise = x
where x <- xs
halfEvens::[Int]->[Int]
半平[xs]
|x`mod`2==0=x`div`2
|否则=x
其中x代码中有两个主要问题:
其中
块定义函数,因此,您应该使用=
而不是
parse error on input '<-'
Prelude> let halfIfEven x = if even x then x `div` 2 else x
Prelude> let halfEvens = map halfIfEven
Prelude> halfEvens [1..10]
[1,1,3,2,5,3,7,4,9,5]
halfIfEven :: Int -> Int
halfIfEven x | even x = x `div` 2
| otherwise = x
halfEvens :: [Int] -> [Int]
halfEvens [] = []
halfEvens (x:xs) = (halfIfEven x):(halfEvens xs)