我想使用单子(monads)来读取一个INI文件的Haskell代码。
以下是我的代码:
import Control.Monad
import Data.Ini
main = do
config <- readIniFile "configs/config.ini"
port <- (config >>= lookupValue "NETWORK" "port")
port >>= putStrLn
在我的有限理解中,
config
和port
的类型应该是Either。如何在IO
操作中使用Either
值?
IO
操作的情况下使用Either
值吗? - Cubiccase of
语法:https://pastebin.com/nquCFvck,并且似乎有效。现在正在尝试使用bind
进行学习。 - Ajiteither
或fromRight
函数,但我认为这不会有显著的改进。请注意,如果您使用Left
分支终止程序(带有错误或异常),并且右分支返回值,则无需保持嵌套。 - CubicEither a
中的内容取出并放入IO
中。 - chi