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