68

私は混乱しています。使ってみましたがprint、応募者が多いのは知っていますputStrLn。それらの本当の違いは何ですか?

print $ function 
putStrLn $ function
4

1 に答える 1

106

この関数putStrLnは aを取り、Stringそれを画面に表示し、その後に改行文字を続けます ( put a Stringの後に new L i n e を続けます)。

sでのみ機能するためString、一般的なイディオムは、任意のオブジェクトを取得し、それを に変換してから、String適用putStrLnして表示することです。オブジェクトを に変換する一般的な方法Stringshow関数を使用するため、コードは多くの

putStrLn (show 1)
putStrLn (show [1, 2, 3])
putStrLn (show (Just 42))

これに気付いたらString、1 つのステップで文字列を に変換して表示する関数を定義するのはそれほど難しくありません。

print x = putStrLn (show x)

これがまさにprint機能です。

于 2013-10-10T07:48:09.910 に答える