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)
这正是printfunction所在。