Haskell中的猫模拟器

时间:2011-06-10 06:14:00

标签: haskell

所以我试图创建一个从句柄读取并写入stdOut的程序,如下所示:

import IO
import System

cat w   =   do  
            fromHandle  <- getAndOpenFile w ReadMode
            contents    <- hGetContents fromHandle
            putStr contents
            putStr "Done."

getAndOpenFile  :: String -> IOMode -> IO Handle

getAndOpenFile name mode =
      do
      catch (openFile name mode)
        (\_ -> do   
                putStrLn ("Cannot open "++ name ++"\n")
                return())

我对Hs相当陌生,看起来这应该比我为自己制作简单得多。有什么建议可以帮助我进一步前进吗?

用法为./cat“foo.txt”,并将foo.txt文件中的文本打印到stdOut。

1 个答案:

答案 0 :(得分:4)

以下功能可以满足您的需求。

readFile :: FilePath -> IO String

将此与putStr一起使用以打印IO String