gpt4 book ai didi

Haskell: (MonadPlus m => Bool -> a -> m a) 没有用吗?

转载 作者:行者123 更新时间:2023-12-02 10:30:14 25 4
gpt4 key购买 nike

taking a gander at codepad.org 之后,我受到了使用 FizzBu​​zz 的启发。 ,并发现自己想要一些功能:

mwhen :: MonadPlus m => Bool -> a -> m a
mwhen b = if b then return else const mzero

这样我就可以mwhen (n/? 3) "Foo"`mappend` mwhen (n/? 5) "Bar"

我预计它会出现在 hoogle 上,但是 no dice .

这是否没有我想象的那么有用?

最佳答案

mwhen b a 恰好是guard b >> return a。当您在 guard 之后执行更多操作时,通常会在 mwhen 之前绑定(bind) a 并且不需要返回。所以 mwhen 的用处似乎主要是在 do block 末尾节省一些击键。

关于Haskell: (MonadPlus m => Bool -> a -> m a) 没有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com