次のプロファイルを使用する関数を実装するように依頼されました。
maybe_divide :: Maybe Integer -> Maybe Integer -> Maybe Integer
そして、次のように応答します。
> maybe_divide (Just 5) (Just 2)
Just 2
> maybe_divide (Just (-5)) (Just 2)
Just (-3)
> maybe_divide (Just (-5)) (Just 0)
Nothing
> maybe_divide Nothing (Just 1)
Nothing
> maybe_divide (Just 1) Nothing
Nothing
以下のように書いたのですが、コンパイルできません。何か提案はありますか?
maybe_divide :: Maybe Integer -> Maybe Integer -> Maybe Integer
maybe_divide x y = case x of
Just x' -> case y of
Just y'
| y' == 0 -> Nothing
| otherwise -> x' `div` y'
Nothing -> Nothing