我刚刚开始再次学习 Haskell(我已经尝试过几次)并且我写了一个小函数,它应该将文件下载到给定的文件路径。如果 URL 是Some
它应该下载文件,如果是Nothing
它应该什么都不做。
downloadFile :: URL -> FilePath -> IO ()
downloadFile url fp = ...
maybeDownloadFile :: Maybe URL -> FilePath -> IO ()
maybeDownloadFile ( Just url ) fp = downloadFile url fp
maybeDownloadFile Nothing fp = return ()
Run Code Online (Sandbox Code Playgroud)
所以它本质上只是包装了downloadFile
函数,但是用 aMaybe URL
而不是 a URL
。问题是,我觉得这可以通过使用一元运算符(或者可能使用函子)而不使用匹配表达式来更优雅地实现。有这样的运营商吗?