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