我目前有这段代码,它将main'
对列表中的每个文件名执行该功能files
。
理想情况下,我一直在尝试合并main
,main'
但没有取得太大进展。有没有更好的方法来简化这一点,还是我需要将它们分开?
{- Start here -}
main :: IO [()]
main = do
files <- getArgs
mapM main' files
{- Main's helper function -}
main' :: FilePath -> IO ()
main' file = do
contents <- readFile file
case (runParser parser 0 file $ lexer contents) of Left err -> print err
Right xs -> putStr xs
谢谢!
编辑:正如你们大多数人所建议的那样;我为此尝试了一个 lambda 抽象,但没有做对。- 应该在上面指定。通过这些示例,我可以更好地理解这一点。