foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

Haskell で標準入出力

表示

main = putStr "Hello, World!"

表示(改行付き)

main = putStrLn "Hello, World!"

表示(その他)

main = print "hello\n";

putStr, putStrLn と print の違い

putStr は文字列だけを引数にとる。
print は引数を文字列に変換して表示する。
"\n" などは putStr の場合だけ実際の改行になる。

マルチバイト文字列の出力

euc 以外では文字化けが起きてしまうらしい。

入力

main = do cs <- getContents
          putStrLn cs

注意

Haskell では評価順序が保障されていない。
それでは困る場合のために do がある。
do を使うと、Haskell は 記述順序通りに評価する。