如何在Haskell中读取文件并在文本文件中添加数字
我是Haskell的新手,IO仍然有点困惑。我有一个txt文件,我想读取,在文本文件中添加数字,然后将其写入文本文件。该文件如下所示:如何在Haskell中读取文件并在文本文件中添加数字,haskell,Haskell,我是Haskell的新手,IO仍然有点困惑。我有一个txt文件,我想读取,在文本文件中添加数字,然后将其写入文本文件。该文件如下所示: 2 3 这些数字由一个新行字符分隔。我知道如何读取文件内容,然后将其写入另一个文件,但我不知道如何操作它,或者是否必须将信息转换为Int module Main where import System.Environment -- | this fuction read first line in a file and write out to src f
2
3
这些数字由一个新行字符分隔。我知道如何读取文件内容,然后将其写入另一个文件,但我不知道如何操作它,或者是否必须将信息转换为Int
module Main where
import System.Environment
-- | this fuction read first line in a file and write out to src file
-- src "src.txt", des "des.txt"
copyFirstLine :: FilePath -- ^ path to input file
-> FilePath -- ^ path to output file
-> IO ()
copyFirstLine src dst = do
contect <- readFile src
let (fst :rest) = (lines contect)
writeFile dst fst
main = do
[src,dst] <- getArgs
copyFirstLine src dst
modulemain其中
导入系统。环境
--|此功能读取文件的第一行并写入src文件
--src“src.txt”,des“des.txt”
copyFirstLine::文件路径--^输入文件的路径
->文件路径--^输出文件的路径
->IO()
copyFirstLine src dst=do
contect我不确定你的“操纵”是什么意思,但我假设你需要整数计算。作为字符串进行操作并不困难
如果您输入签名String->Int
,您可以找到read
-- | this fuction read first line in a file and write out +1 result
-- to src file src "src.txt", des "des.txt"
eachPlusOne :: FilePath -- ^ path to input file
-> FilePath -- ^ path to output file
-> IO ()
eachPlusOne src dst = do
contect <- readFile src
let lns = lines contect :: [String]
ints = map ((1+) . read) lns :: [Int]
outs = unlines . map show $ ints :: String
writeFile dst outs
——|此函数读取文件的第一行并写出+1结果
--到src文件src“src.txt”,des“des.txt”
eachPlusOne::文件路径--^输入文件的路径
->文件路径--^输出文件的路径
->IO()
eachPlusOne src dst=do
对抗