HaskellのI/O - コマンドラインの操作と遅延I/O - 単純な式、加算と乗算
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)の UNIT4(HaskellのI/O)、LESSON 22(コマンドラインの操作と遅延I/O)、22.4(練習問題)、Q22-1の解答を求めてみる。
コード
simple_calc.hs
main :: IO ()
main = do
userInput <- getContents
print . calc $ lines userInput
calc :: [String] -> Int
calc (n:"+":m:_) = read n + read m
calc (n:"*":m:_) = read n * read m
入出力結果(Terminal, Zsh)
% runghc simple_calc.hs
1
+
2
3
% runghc simple_calc.hs
2
*
3
6
%