我正在尝试读取并打印映射到文件名列表的“readProcess”命令的输出:
files <- readProcess "ls" [] []
let mdList = map ( \file -> do
md <- readProcess "mdls" [file] []
return md ) $ splitOn "\n" files in
map (\md -> putStrLn md) mdList
putStrLn "Complete"
每次我尝试将 putStrLn 映射到 mdList 时,都会收到此错误:
Couldn't match type ‘IO String’ with ‘[Char]’
我已经阅读了许多似乎只是在 IO 字符串上使用 putStrLn 的 StackOverflow 答案,但我无法这样做。另外,我是 Haskell 的新手,因此也感谢任何其他提示。