如何使用haskell中的any函数?

如何使用haskell中的any函数?,haskell,Haskell,我写过这样的东西 gameOver :: Board -> Bool gameOver testboard = any checksingle ( nub (rows testboard)) where checksingle :: [Cell] -> Bool checksingle [a] | [a] == [Empty] = False | otherwise = True checksingle _ = Fa

我写过这样的东西

gameOver :: Board -> Bool
gameOver testboard
= any checksingle ( nub (rows testboard))
  where 
    checksingle :: [Cell] -> Bool
    checksingle [a] 
      | [a] == [Empty] = False
      | otherwise = True
    checksingle _
      = False
在这里,行将返回[[Cell]]


我试图做的是映射(nub到rows testboard),我测试并运行了它,结果仍然应该是[[Cell]]。然后我尝试应用Map checksingle(上面的列表),这样每个[Cell]都将应用于checksingle,最后我尝试查看是否有任何结果是真的。Haskero告诉我,True
elem
Map(checksingle.nub)(rows testboard)与任何checksingle(nub(rows testboard))相同,但这两个选项都不起作用。

到底是什么问题/错误/。。。您收到了吗?我不清楚为什么要使用
nub
,因为无论您是否检查唯一行,在这两种情况下。这些将返回相同的结果。(并且
nub
checkSingle
每个元素的成本要高得多)