2012-10-08 65 views
0

在Data.List模块被设置:我需要使用'nub'功能吗?


“设置” 操作

nub :: Eq a => [a] -> [a] 

为O(n^2)。 nub函数从列表中删除重复的元素。特别是,它只保留每个元素的第一个出现。 (nub意思是'精华')。这是nubBy的一个特例,它允许程序员提供他们自己的平等测试。


我不能直接使用此功能。我如何使用函数节点?我需要导入一些东西吗?

+0

你确定吗?这个对我有用。它被称为'nub'不是'num' – Claudiu

+0

我打错了,我已经修好了。 :) – 1775

+0

@五月阅读编辑我的答案,然后不接受它,并接受Satvik的答案,而不是请。 – dave4420

回答

8

每当有疑问尝试hoogle。它会告诉你函数在哪个包中,你需要导入哪个模块等等。你也可以按类型搜索函数。

9

nub不在Prelude,它在Data.List

import Data.List 

编辑:我看你已经接受了我的答案。我还看到萨特维克已经发布了一个更好的答案。我会解释。

如果你不是以英语为母语,我会告诉你,有一种说法是:

授人以鱼,他会吃了一天。教一个人去钓鱼,他会一辈子吃饭。

  • 我的回答是妥协退让一个人,一个鱼回答:这回答了你的眼前问题,但没有采取任何行动来帮助你,你可能有今后发生类似的问题。哪个模块是when?哪个模块是on?等等
  • 萨特维克的答案是教人鱼的答案:它告诉你如何自己回答你的问题。它使您不仅能够回答您的直接问题,而且还能回答您将来遇到的类似问题。你最好学习如何回答你自己的问题,因为那样你的问题就会得到更快的回答。 (对于我们其他人来说,这是少花费的努力)。
+0

我被你的运动精神感动...... – Tarrasch

+0

真的,我更恼火,我没有贴出更好的答案。 – dave4420