您好,我想知道您以后如何在 IO monad 中解开一个值?如果a<-expression
将结果绑定到a
然后我不能(<-expression)
用作给定方法的参数,例如:
method (<-expression)
哪里方法method
接受评估结果?
代码
let inh=openFile "myfile" WriteMode
let outh=openFile "out.txt" WriteMode
hPutStrLn (<-outh) ((<-inh)>>=getLine)
我没有进入只是基本和块的Monad
章节,但我想它与单子有关。然后,如果我想通过if 评估,我不能使用类似的东西:<-
do
result
hGetLine
(<-expression)=>>hGetLine