Difference between print and putStrLn in Haskell

前端 未结 1 1860
走了就别回头了
走了就别回头了 2020-12-24 02:13

I am confused. I tried to use print, but I know people apply putStrLn. What are the real differences between them?

print $ function         


        
相关标签:
1条回答
  • 2020-12-24 02:29

    The function putStrLn takes a String and displays it to the screen, followed by a newline character (put a String followed by a new Line).

    Because it only works with Strings, a common idiom is to take any object, convert it to a String, and then apply putStrLn to display it. The generic way to convert an object to a String is with the show function, so your code would end up with a lot of

    putStrLn (show 1)
    putStrLn (show [1, 2, 3])
    putStrLn (show (Just 42))
    

    Once you notice that, it's not a very big stretch to define a function that converts to a String and displays the string in one step

    print x = putStrLn (show x)
    

    which is exactly what the print function is.

    0 讨论(0)
提交回复
热议问题