HaskellのI/O - ファイル操作 - ファイルを開いて閉じる - readFile関数, writeFile関数, Data.Text.IO, 正格なI/O
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)の UNIT4(HaskellのI/O)、LESSON 24(ファイル操作)、24.6(練習問題) 24-1の解答を求めてみる。
コード
cp.hs
import System.Environment ( getArgs )
import qualified Data.Text.IO as TIO
main :: IO ()
main = do
args <- getArgs
let src = head args
let dst = args !! 1
contents <- TIO.readFile src
TIO.writeFile dst contents
入出力結果(Terminal, Zsh)
% ghc cp.hs
[1 of 2] Compiling Main ( cp.hs, cp.o )
[2 of 2] Linking cp
ld: warning: ignoring duplicate libraries: '-lm'
% ./cp cp.hs cp.hs.bak
% diff cp.hs cp.hs.bak
%