Haskell 将列表理解转化为功能应用
我有一个函数是用列表理解写的。作为一项学习,我决定尝试使用map、zip、fold等将此函数转换为函数应用程序。我在转换此函数时遇到了一个非常困难的问题 这可能看起来不合理,但这是一个更大的功能的一部分,我想让这件工作首先Haskell 将列表理解转化为功能应用,haskell,list-comprehension,Haskell,List Comprehension,我有一个函数是用列表理解写的。作为一项学习,我决定尝试使用map、zip、fold等将此函数转换为函数应用程序。我在转换此函数时遇到了一个非常困难的问题 这可能看起来不合理,但这是一个更大的功能的一部分,我想让这件工作首先 combination :: Int -> [a] -> [([a],[a])] combination 0 xs = [([],xs)] combination n (x:xs) = [ (x:ys,zs) | (ys,zs) <- combina
combination :: Int -> [a] -> [([a],[a])]
combination 0 xs = [([],xs)]
combination n (x:xs) = [ (x:ys,zs) | (ys,zs) <- combination (n-1) xs ]
组合::Int->[a]->[([a],[a])]
组合0 xs=[([],xs)]
组合n(x:xs)=[(x:ys,zs)|(ys,zs)它只是一张地图
:
combination :: Int -> [a] -> [([a],[a])]
combination 0 xs = [([],xs)]
combination n (x:xs) = map (\(ys, zs) -> (x:ys,zs)) (combination (n-1) xs)
哇,我想我把这件事搞得太复杂了,因为我试图去掉组合0 xs=[([],xs)]
的第一个模式匹配。非常感谢您的回复。