Mar*_*ria 1 haskell file-processing winghci
我如何在haskell中实现以下内容:
output.txt.任何帮助深表感谢.我的哈克尔技能仍在发展中.
到目前为止,我有这个代码:
processFile::String->String
processFile [] =[]
processFile input =input
process :: String -> IO String
process fileName = do
text <- readFile fileName
return (processFile text)
main :: IO ()
main = do
n <- process "input.txt"
print n
Run Code Online (Sandbox Code Playgroud)
在processFile函数中,我应该处理输入文件中的文本.
您可以使用该getArgs函数在命令行上读取参数.例如:
import System.Environment (getArgs)
main = do
args <- getArgs
case args of
[arg] -> putStrLn $ "You gave me one arg: " ++ arg
_ -> putStrLn $ "You gave me " ++ show (length args) ++ " arguments."
Run Code Online (Sandbox Code Playgroud)
您可以使用该readFile函数来读取文件.
contents <- readFile "test.txt"
putStrLn contents -- Prints the contents of the file
Run Code Online (Sandbox Code Playgroud)
您可以使用该writeFile函数写入文件:
writeFile "test2.txt" "Some file data\n" -- Writes the data to the file
Run Code Online (Sandbox Code Playgroud)
制表符,换行符和空格可以称为空格或单词分隔符.该words函数将字符串转换为单词列表.
print $ words "some text with\nmany words"
-- prints ["some", "text", "with", "many", "words"]
Run Code Online (Sandbox Code Playgroud)
该intersperse函数在列表的每个元素之间插入一个分隔符:
import Data.List (intersperse)
main =
print $ intersperse '.' ["some", "text", "with", "many", "words"]
-- prints "some.text.with.many.words"
Run Code Online (Sandbox Code Playgroud)
intercalate如果需要更长的分隔符,也可以查看该功能.
这些是您的程序所需的所有工具,我认为您可以弄清楚其余部分.祝好运!
| 归档时间: |
|
| 查看次数: |
517 次 |
| 最近记录: |