Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“let”上的Haskell分析错误_Haskell_Let_Rabin Karp - Fatal编程技术网

“let”上的Haskell分析错误

“let”上的Haskell分析错误,haskell,let,rabin-karp,Haskell,Let,Rabin Karp,所以我是哈斯克尔的新手,我必须编写拉宾-卡普斯算法。 我觉得我的答案应该有效,但在编译时,我一直在“let”错误上遇到解析错误。 谁能帮我一下吗 这是我的密码: import Data.Char hash :: String -> Int hash [] = -1 hash (x:xs) = ((ord x)) rabinKarp :: String -> String -> Bool rabinKarp [] _ = False rabinKarp mainString

所以我是哈斯克尔的新手,我必须编写拉宾-卡普斯算法。 我觉得我的答案应该有效,但在编译时,我一直在“let”错误上遇到解析错误。 谁能帮我一下吗

这是我的密码:

import Data.Char

hash :: String -> Int
hash [] = -1
hash (x:xs) = ((ord x))

rabinKarp :: String -> String -> Bool
rabinKarp [] _ = False
rabinKarp mainString patternString
    let
     hashPattern = hash patternString
     hashMain = hash (take (length pattern) mainString)
    if hashPattern == hashMain
    then True
    else rabinKarp (drop 1 mainString) patternString
您缺少a=,并且在中也缺少一个

编辑:在

中,您缺少一个=,在中也缺少一个


编辑:在

干杯,伙计,我太累了,我整晚都在想这个作业,结果解决了。我会投你一票,但我需要一个15岁左右的代表,非常感谢!干杯,老兄,我太累了,我花了一整夜的时间想弄明白这个任务,然后解决了它。我会投你一票,但我需要一个15岁左右的代表,非常感谢!
rabinKarp mainString patternString =
    let
     hashPattern = hash patternString
     hashMain = hash (take (length pattern) mainString)
    in if hashPattern == hashMain
     then True
     else rabinKarp (drop 1 mainString) patternString