當我嘗試將以下代碼加載到 ghci
import System.Environment (getArgs)
import System.IO
interactWith function inputFile outputFile = do
input <- readFile inputFile
writeFile outputFile (function input)
main = mainWith myFunction
where mainWith function = do
args <- getArgs
case args of
[input,output] -> interactWith function input output
_ -> putStrLn "error: exactly two arguments needed"
myFunction = id
它產生error: parse error on input ‘args’. 但我不清楚是什么導致了問題,而且我無法通過查看決議錯誤問題的答案來判斷問題是什么。
為什么會產生錯誤?
uj5u.com熱心網友回復:
您需要修復程式的縮進。塊下的專案應比子句do中定義的開頭至少向右縮進一列。where您還應該在該case … of子句下縮進大小寫:
import System.Environment (getArgs)
import System.IO
interactWith function inputFile outputFile = do
input <- readFile inputFile
writeFile outputFile (function input)
main = mainWith myFunction
where mainWith function = do
args <- getArgs
case args of
[input,output] -> interactWith function input output
_ -> putStrLn "error: exactly two arguments needed"
myFunction = id
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/411544.html
標籤:
