fab*_*789 2 haskell functional-programming
我知道并爱我filter,map并且reduce,它恰好是越来越多的纯粹功能性语言的一部分.
我发现自己需要一个类似的功能:类似的东西map,但不是一对一,它将是一对多.
即原始列表中的一个元素可能被映射到目标列表中的多个元素.
那里已经有这样的东西了,还是我必须自己动手?
这正是>>=列表专用的内容.
> [1..6] >>= \x -> take (x `mod` 3) [1..]
[1,1,2,1,1,2]
Run Code Online (Sandbox Code Playgroud)
它concat汇集了结果
> map (\x -> take (x `mod` 3) [1..]) [1..6]
[[1],[1,2],[],[1],[1,2],[]]
Run Code Online (Sandbox Code Playgroud)