在haskell中使用>> =重定向上一个操作的标准输出

时间:2015-07-11 07:26:18

标签: haskell pipe

如何从先前的操作中获取输出并使用haskell中的onTouchEvent进行打印?

在shell中,就像是,

>>=

在haskell中,我正在寻找类似的东西,

echo "hello world" | { read test; echo test=$test; }

getArgs stdin必须从putStrLn的stdout中获取输入。

修改#1, 阿列克谢& aochagavia,感谢您的投入。这很有效。

putStrLn "hello world" >>= {x <- getArgs; print x}

1 个答案:

答案 0 :(得分:8)

不,>>=与stdout没有任何关系。您可以使用silently包中的capture_功能:

 do x <- capture_ (putStrLn "hello world")
    print x

或只是capture_ (putStrLn "hello world") >>= print