计算字符串列表中的回文数,Haskell

时间:2018-03-26 19:10:04

标签: string list haskell palindrome

函数countPalindromes接收一个字符串列表,并返回有多少字符串为回文的计数。

isPalindrome :: String -> Bool
isPalindrome w = w == reverse w

countPalindromes :: [String] -> Int
countPalindromes ss = length filter (== isPalindrome) ss 

我知道函数长度应用于两个参数而不是一个。我只是不知道如何解决这个问题?

1 个答案:

答案 0 :(得分:8)

您可以使用括号来影响功能应用程序:

countPalindromes ss = length (filter (== isPalindrome) ss)

括号将使整个表达式filter (== isPalindrome) ss分组为单个术语,并将其结果传递给length

这会让你接下来的错误;我鼓励你仔细阅读,看看你是否可以自己从这里取得进展,然后提出一个新问题,如果你花了十五分钟试图理解它而不取得进展。