小编Mar*_*ala的帖子

在Haskell中使用concat和map实现过滤器

filter1 :: (a -> Bool) -> [a] -> [a]
filter1 p = concat.map box
              where box x
                    | p x       = [x]
                    | otherwise = []
Run Code Online (Sandbox Code Playgroud)

我不明白这个解决方案.map将box应用于列表的所有元素,如果px == True,它将元素放在单个元素的列表中,然后concat取消所有内容?concat在最后还是一个一个地统一一切?

谢谢!我希望有人理解这一点

haskell functional-programming

0
推荐指数
1
解决办法
257
查看次数

标签 统计

functional-programming ×1

haskell ×1