定义一个函数
pairMaybe :: Maybe a -> Maybe b -> Maybe (a,b)
仅当两个参数都是 时才会产生
Just
结果Just
,并且Nothing
如果任一参数都是Nothing
。
我想出了:
pairMaybe (Just a) (Just b) = Just (a,b)
pairMaybe (Just a) Nothing = Nothing
pairMaybe Nothing (Just b) = Nothing
我不确定这是否是正确的写作方式。这有什么问题还是这是定义此功能的方式?
另外我想我可能想要更好地解释这个函数实际上可以做什么,所以如果我pairMaybe
用两个参数调用,它们可以是什么参数?当然它们必须是 type Maybe
,但有什么好的例子呢?