HaskellのI/O テキストとUnicodeの操作 入出力、Data.Text.Lazy、入出力、getContents関数
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT4(HaskellのI/O)、LESSON23(テキストとUnicodeの操作)、23.6(練習問題)Q23-2の解答を求めてみる。
コード
{-# LANGUAGE OverloadedStrings #-}
import qualified Data.Text.Lazy as T
import qualified Data.Text.Lazy.IO as TIO
toInts :: T.Text -> [Int]
toInts = map (read . T.unpack) . T.lines
main = do
userInput <- TIO.getContents
let numbers = toInts userInput
TIO.putStrLn $ T.pack $ show $ sum numbers
入出力結果(Terminal, Zsh)
% runghc sample2.hs
1
2
3
4
5
6
7
8
9
10
55
%