通过Haskell Prelude,我看到了一个函数 const:
const x _ = x
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到有关此功能的任何相关内容.
重点是什么?任何人都可以举例说明这个函数的用途吗?
了解一下Haskell演示了这个powerset功能:
在
powerset某组是一组一组的所有子集.
powerset :: [a] -> [[a]]
powerset xs = filterM (\x -> [True, False]) xs
Run Code Online (Sandbox Code Playgroud)
运行它:
ghci> powerset [1,2,3]
[[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?我看到了filterM签名(如下所示),但我不明白它是如何执行的.
filterM :: Monad m => (a -> m Bool) -> [a] -> m [a]
请告诉我这个powerset功能.
haskell ×2