函数countPalindromes接收一个字符串列表,并返回有多少字符串为回文的计数。
isPalindrome :: String -> Bool
isPalindrome w = w == reverse w
countPalindromes :: [String] -> Int
countPalindromes ss = length filter (== isPalindrome) ss
我知道函数长度应用于两个参数而不是一个。我只是不知道如何解决这个问题?
答案 0 :(得分:8)
您可以使用括号来影响功能应用程序:
countPalindromes ss = length (filter (== isPalindrome) ss)
括号将使整个表达式filter (== isPalindrome) ss
分组为单个术语,并将其结果传递给length
。
这会让你接下来的错误;我鼓励你仔细阅读,看看你是否可以自己从这里取得进展,然后提出一个新问题,如果你花了十五分钟试图理解它而不取得进展。