And*_*art 1 haskell let rabin-karp
所以我是Haskell的新手,我必须编写Rabin Karps算法.我觉得我的答案应该可以工作,但是当我编译时,我仍然会在"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
Run Code Online (Sandbox Code Playgroud)
你错过了一个=,也是一个in
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
Run Code Online (Sandbox Code Playgroud)
编辑: in
| 归档时间: |
|
| 查看次数: |
1867 次 |
| 最近记录: |