charIn :: Char -> String -> Bool
charIn _ [] = False
charIn x (y:ys) = x==y || charIn x ys
isWord :: String -> Bool
isWord = all $ flip charIn "abcdefghijklmnopqrstuvwxyz"
-- isword "abc" (Result True)
-- isWord "ab1" (Result False)
我對翻轉功能的工作方式感到困惑。我知道它翻轉了前兩個參數,但它在上面的代碼中工作如何?它只是翻轉字符串參數和charIn「abcdefghijklmnopqrstuvwxyz」,使它看起來像 - 所有$ charIn「abcdefghijklmnopqrstuvwxyz」?關於翻轉功能的困惑
這是現在更清楚了。但我確實有一個問題。我把你的評價翻譯在聲明中,但不工作 - 所有$ charIn x ['a'..'z']。它只在我將其更改爲 - all(charIn x)「abcdefghijklmnopqrstuvwxyz」 – user124659
@ user124659時才起作用,您似乎錯過了'charIn x ['a'..'z']'之前的'\ x - >'。 – dfeuer
哎呀我錯過了那部分,但仍然isWord1 x =所有$ \ x - > charIn x ['a'..'z']給我「沒有實例(顯示(t10字符 - >布爾))」錯誤。 – user124659