我是haskell的初学者,正在阅读Learn you a haskell book。一段时间以来,我一直在尝试消化函子和应用函子。
在应用函子主题中,实例实现Maybe为
instance Applicative Maybe where
pure = Just
Nothing <*> _ = Nothing
(Just f) <*> something = fmap f something
因此,据我了解,Nothing如果左侧函子 (for <*>) 为 Nothing,我们会得到。对我来说,这似乎更有意义
Nothing <*> something = something
所以这个应用函子没有效果。有什么用例,如果有的话Nothing?
说,我有一个Maybe String我不知道的价值。我必须把它Maybe交给第三方功能,但希望它的结果先通过几个Maybe (a -> b)。如果其中一些功能是Nothing我希望他们默默地返回他们的输入,而不是给出 a Nothing,这是数据丢失。
Nothing那么,在上述实例中返回背后的想法是什么?