私は混乱しています。使ってみましたがprint
、応募者が多いのは知っていますputStrLn
。それらの本当の違いは何ですか?
print $ function
putStrLn $ function
この関数putStrLn
は aを取り、String
それを画面に表示し、その後に改行文字を続けます ( put a Stringの後に new L i n e を続けます)。
sでのみ機能するためString
、一般的なイディオムは、任意のオブジェクトを取得し、それを に変換してから、String
適用putStrLn
して表示することです。オブジェクトを に変換する一般的な方法String
はshow
関数を使用するため、コードは多くの
putStrLn (show 1)
putStrLn (show [1, 2, 3])
putStrLn (show (Just 42))
これに気付いたらString
、1 つのステップで文字列を に変換して表示する関数を定義するのはそれほど難しくありません。
print x = putStrLn (show x)
これがまさにprint
機能です。