[Haskell]PGMファイルを読み込む part2

Contents

やりたいこと

昨日まででヘッダーは読み込めるようになったため、
今度はピクセルの情報を読みだす。

プログラム

プログラムは以下の感じ。
import System.IO
import System.Environment (getArgs)

main = do
    args <- getArgs
    if length args <= 1 then do
        print "usage : ./pgm-input input.pgm output.pgm"
    else do
        infile <- openFile (head args) ReadMode

        -- Read PGM Header
        pgm_type <- hGetLine infile
        pgm_comment <- hGetLine infile
        pgm_max_brightness <- hGetLine infile
        pgm_size <- hGetLine infile
        -- Read PGM Pixels-
        src_pixels <- hGetContents infile

        -- Output PGM File
        fh <- openFile (args !! 1) WriteMode
        hPutStrLn fh pgm_type
        hPutStrLn fh pgm_comment
        hPutStrLn fh pgm_max_brightness
        hPutStrLn fh contents
        hPutStrLn fh pgm_size
        hPutStrLn fh src_pixels

        hClose infile
        hClose fh

入力画像

出力画像

うまくいっているみたいだ。
zuqqhi2

某Web系の会社でエンジニアをやっています。 学術的なことに非常に興味があります。 趣味は楽器演奏、ジョギング、読書、料理などなど手広くやっています。