如何在Haskell中获得unicode输出

时间:2014-01-21 02:14:48

标签: haskell

我有一个输出unicode的主函数,如下所示:

main = do
    hSetEncoding stdout utf8
    input <- getContents
    mapM_ putStr $ myfunc input

如何在没有记号的情况下编写此功能?

当我尝试编译这个主函数时,我得到<stdout>: commitBuffer: invalid argument (invalid character)

main = getContents >>= mapM_ putStr . myfunc

1 个答案:

答案 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