如何将一个IO [String]写入stdout?

Ala*_*lan 1 io haskell

我有一个IO [String]in main,我想写(作为行)到stdout.怎么样?

--newbie

Tho*_*son 9

IO [String]是一个可以让你获得字符串的动作.如果您希望执行操作并打印结果,请考虑:

printIOString io = putStrLn . unlines =<< io
Run Code Online (Sandbox Code Playgroud)

或者使用其他一些表示法,如果您愿意:

printIOString io =
  do strs <- io
     let rendered = unlines strs
     putStrLn rendered
Run Code Online (Sandbox Code Playgroud)