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