我很困惑。我尝试使用print
,但我知道有人申请putStrLn
。他们之间有什么真正的区别?
print $ function
putStrLn $ function
答案 0 :(得分:75)
函数putStrLn
需要String
并将其显示在屏幕上,然后是换行符( put a Str ing后跟一个新的 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
函数的作用。