我在 ghci.exe 目录中创建了一个新的 quick.hs 文件。而且内容是
quicksort::(Ord a)=>[a]->[a]
quicksort []=[]
quicksort (x:xs)=
let smaller = [a |a<-xs,a<=x]
larger = [a |a<-xs,a>x]
in quicksort smaller ++ [x] ++ quicksort larger
当我在 ghci 命令 lline 中发出 :l quick 时,输出是
Prelude> :l quick
[1 of 1] Compiling Main ( quick.hs, interpreted )
quick.hs:5:17: error:
parse error on input ‘=’
Perhaps you need a 'let' in a 'do' block?
e.g. 'let x = 5' instead of 'x = 5'
Failed, modules loaded: none.
我已经多次同意这种问题。地球上有什么问题?
最佳答案
您在评论中说您确定源文件中没有制表符,但是检查问题的来源,确实在 in
标记之前有一个。用适当数量的空格替换它,你会一切顺利。
关于Haskell 错误 : parse error on input '=' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39122970/