我该如何使用Haskell编写包含以下细节的代码:
谢谢你的回答。 编辑1: 我尝试在我的代码中构建一个循环,我写了以下代码:
- 首先读取一个文本文件。
- 然后,在循环中对该文本文件的每一行执行一个函数。
- 最后将每个处理过的行写入输出文本文件。
注意:行在输入文件中已经分隔并组织好,准备好进行处理。
这是我的代码,它包含了上述细节。实际上,我希望您指导我下面代码中 ?
部分,并根据我在注释 --/
部分中提到的内容帮助我完成 ?
部分。
main :: IO ()
main = do
file:_ <- getArgs
gr <- readPGF file
content <- readFile "input.txt"
loop gr content
loop :: PGF -> String -> IO ()
loop gr content = ?
-- ln <- lines content
-- if ln == EndOfFile then putStrLn "bye" else do
-- appendFile "output.txt" $function gr line
-- loop gr content
function :: PGF -> String -> String
function gr s = *functions body*
谢谢你的回答。 编辑1: 我尝试在我的代码中构建一个循环,我写了以下代码:
module Main where
import PGF
import System.Environment
import System.IO
main :: IO ()
main = do
file:_ <- getArgs
gr <- readPGF file
content <- readFile "testCasePF.txt"
line <- lines content
loop gr line
loop :: PGF -> String -> IO ()
loop g x:y = do
if x == "quit" then putStrLn "bye" else do
appendFile "output.txt" $function g x
loop gr y
function :: PGF -> String -> String
function gr s = *function body*
但是当我尝试编译它时,我仍然遇到了问题,并且捕获了一个无法修复的错误:
模式中的语法错误:loop
我希望你能帮助我解决这个问题。
loop(gr content)
应该改为loop gr content
。函数应用时不需要使用括号,而在这里使用括号会导致类型错误,因为它让你看起来像是将参数content
应用到函数gr
上,这显然是不正确的。 - bheklilr