do块内的Haskell分析错误
我得到以下错误 对输入“args”的分析错误 。。。在尝试编译以下代码时:do块内的Haskell分析错误,haskell,indentation,Haskell,Indentation,我得到以下错误 对输入“args”的分析错误 。。。在尝试编译以下代码时: import System.Environment (getArgs) interactWith function inputFile outputFile = do input <- readFile inputFile writeFile outputFile (function input) main = mainWith myFunction where mainWith
import System.Environment (getArgs)
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"
-- replace "id" with the name of our function below
myFunction = id
导入系统环境(getArgs)
与函数inputFile outputFile=do交互
input putStrLn“错误:需要两个参数”
--用下面函数的名称替换“id”
myFunction=id
代码取自真实世界哈斯克尔的第4章。问题在于缩进。在这本书中,我无法正确地解释缩进。 代码应如下所示:
import System.Environment (getArgs)
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"
-- replace "id" with the name of our function below
myFunction = id
导入系统环境(getArgs)
与函数inputFile outputFile=do交互
input putStrLn“错误:需要两个参数”
--用下面函数的名称替换“id”
myFunction=id
我在学习Haskell时遇到的一个更大的问题是模糊的编译错误。问题代码中的缩进是正确的。 您可能在代码中加入了一个。有很多方法可以强制编辑器将每个选项卡替换为4个空格