Wal*_*rty -1 syntax haskell list syntax-error
我试图zipWith通过zip和map函数实现该函数,但是我收到的错误是:"错误:解析错误输入'::'我的代码在下面,而且我不确定我做错了什么
zipWith` :: (a -> b -> c) -> [a] -> [b] -> [c]
zipWith` f x y = zip x $ map f y
Run Code Online (Sandbox Code Playgroud)
你必须使用'符号而不是`; 然后,结合您需要使用的功能uncurry:
zipWith' :: (a -> b -> c) -> [a] -> [b] -> [c]
zipWith' f xs ys = map (uncurry f) (zip xs ys)
Run Code Online (Sandbox Code Playgroud)
为什么这样,那种类型zip是:
zip :: [a] -> [b] -> [(a, b)]
Run Code Online (Sandbox Code Playgroud)
但功能f是f :: (a -> b -> c),那么,的帮助下uncurry,
uncurry :: (a -> b -> c) -> (a, b) -> c
Run Code Online (Sandbox Code Playgroud)
你可以将函数映射f到[(a, b)],将其转换为[c].
| 归档时间: |
|
| 查看次数: |
1504 次 |
| 最近记录: |