小编Dan*_*l.T的帖子

有没有更好的方法来编写这个 haskell 函数?

我刚刚开始再次学习 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。问题是,我觉得这可以通过使用一元运算符(或者可能使用函子)而不使用匹配表达式来更优雅地实现。有这样的运营商吗?

monads haskell functor

-1
推荐指数
1
解决办法
98
查看次数

标签 统计

functor ×1

haskell ×1

monads ×1