所以我正在尝试学习haskell,在玩Maybe类型时,我想出了这个简单的代码片段
import Data.Maybe
betterDouble :: Maybe Int -> Maybe Int
betterDouble x =
case x of
Just y -> Just (y * 2)
Nothing -> Nothing
这看起来很笨拙而且冗长。我不能帮助,但觉得有更简洁的方式在haskell写这个。我可以重写代码块的惯用或简洁方法是什么?
答案 0 :(得分:7)
由于Maybe
是一个Functor,您可以使用fmap
来映射其内容:
betterDouble = fmap (* 2)