在haskell中,我有一个如下定义的函数:
f :: IO(CurlCode, String)
我想从这个函数中获取第二个参数(String),但我无法弄清楚如何,因为我无法创建这样的函数:
IO(a,b)->b
答案 0 :(得分:2)
你不能。这就像询问&#34;我如何从蛋糕配方中提取一块蛋糕?&#34;是的,可以使用GHC及其特定的运行时系统编写一个看起来像这样做的黑客,但是不是正确的Haskell语言的一部分并且<他们不是一个好主意。您要做的是构建执行pandoc.exe: Failed to retrieve http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.1/css/bootstrap.min.css
FailedConnectionException2 "cdnjs.cloudflare.com" 80 False getAddrInfo: does not exist (error 11001)
Error: pandoc document conversion failed with error 61
的{{1}}操作并使用其结果:
IO
更一般地说,您可以使用结果,如另一个答案所述:
f
可以使用g :: IO String
g = snd <$> f
表示法编写,如下所示:
foo :: IO ()
foo = f >>= \(code,str) -> putStrLn str