計算機科学のブログ

HaskellのI/O コマンドラインの操作と遅延I/O コマンドライン操作:遅延評価を使用しない方法 getLine関数、mapM関数、mapM_関数

入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT4(HaskellのI/O)、LESSON22(コマンドラインの操作と遅延I/O)、22.1(コマンドライン操作:遅延評価を使用しない方法)、クイックチェック 22-1の解答を求めてみる。

コード

main :: IO ()
main = do
  xs <- mapM (\_ -> getLine) [1 .. 3]
  mapM_ putStrLn xs

入出力結果(Terminal, Zsh)

% runghc sample01.hs 
abcde
12345
a1b2
abcde
12345
a1b2
%