私は 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