我有一个输出unicode的主函数,如下所示:
main = do
hSetEncoding stdout utf8
input <- getContents
mapM_ putStr $ myfunc input
如何在没有记号的情况下编写此功能?
当我尝试编译这个主函数时,我得到<stdout>: commitBuffer: invalid argument (invalid character)
:
main = getContents >>= mapM_ putStr . myfunc
答案 0 :(得分:3)
只需使用序列(&gt;&gt;):
main = do
hSetEncoding stdout utf8
input <- getContents
mapM_ putStr $ myfunc input
~~>
main = hSetEncoding stdout utf8 >> getContents >>= \input -> mapM_ putStr $ lines input
~~>
main = hSetEncoding stdout utf8 >> getContents >>= mapM_ putStr . lines