我很迷惑。我尝试使用print,但我知道人们会使用putStrLn。它们之间的真正区别是什么?

print $ function
putStrLn $ function

最佳答案

函数putStrLn接受一个String并显示在屏幕上,后跟换行符(放入 Str ,然后是新的 L i n e)。

因为它仅适用于String,所以常见的惯用法是将任何对象转换为String,然后应用putStrLn进行显示。将对象转换为String的通用方法是使用show函数,因此您的代码最终会产生很多

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

一旦注意到这一点,定义一个转换为String并一步显示字符串的函数并不是一个很大的任务
print x = putStrLn (show x)

正是print函数是什么。

10-02 02:45