Print和putStrLn在Haskell中的区别
我很困惑。 我尝试使用print
,但我知道人们应用putStrLn
。 他们之间真正的区别是什么?
print $ function putStrLn $ function
函数putStrLn
接受一个String
并将其显示在屏幕上,后面跟着一个换行符( 把 Str 放到一个新的L中 )。
因为它只能和String
工作,所以常见的习惯就是取任何对象,将其转换为String
,然后应用putStrLn
来显示它。 将对象转换为String
的通用方法是使用show
函数,因此您的代码最终会有很多
putStrLn (show 1) putStrLn (show [1, 2, 3]) putStrLn (show (Just 42))
一旦你注意到了,定义一个函数转换成一个String
并且在一个步骤中显示string并不是一个很大的延伸
print x = putStrLn (show x)
这正是print
function所在。