ファイル入力か標準入力

引数が与えられたらそれをファイル名と見なしてファイルを読み込み,与えられなければ標準入力から読み込む。いわゆるフィルタとしても働くプログラム。こんな感じでいいか?

module Main (main) where

import System

main :: IO ()
main = do args <- getArgs
          contents <- if (not.null) args then readFile $ head args else getContents
          putStr contents

引数にファイル名を指定

D:\>runghc catFile.hs hello.txt
Hello, Haskell.

標準入力から

D:\>runghc catFile.hs < hello.txt
Hello, Haskell.

パイプ経由

D:\>type hello.txt | runghc catFile.hs
Hello, Haskell.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください