简体   繁体   English

如何在绑定操作中使用非monadic函数

[英]How to use non-monadic functions in a bind operation

I feel like I should already know this, but how could I use fromMaybe in one line instead of breaking it into 2 with a let ? 我觉得我应该已经知道这一点,但我怎么能使用fromMaybe在一个行,而不是打破它变成2了let

main = do
    maybePort <- lookupEnv "PORT"
    let port = fromMaybe "4020" maybePort
    putStrLn $ "Listening on:" ++ port

you can use fmap or <$> like this: 您可以像这样使用fmap<$>

import Control.Applicative ((<$>))

main = do
    port <- fromMaybe "4020" <$> lookupEnv "PORT"
    putStrLn $ "Listening on:" ++ port

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM