【发布时间】:2013-10-13 09:29:48
【问题描述】:
我在 Haskell 中有一些对象的列表。我需要找出这些对象中的某个人是否满足某些条件。所以,我写了以下内容:
any (\x -> check x) xs
但问题是检查操作非常昂贵,而且列表很大。我想查看运行时的当前进度,例如50% (1000/2000 checked).
我该怎么做?
【问题讨论】:
-
如果您正在处理大型数据集的繁重工作,请不要使用 List。列表有利于学习,但在现实应用中表现不佳
-
另外,any 会在找到符合条件的元素后立即返回,在这种情况下,显示处理了多少元素的进度没有意义
-
@Ankur 有道理,为什么不呢?可以解释为'30%的元素已经被处理,没有找到合适的'
-
我的意思是,一般来说,当你显示一个进度时,用户希望它一直到 100%,而不是突然退出,比如说 10%。但是,如果这只是为了让您以这种方式测试某些东西,那就没问题了
-
@Ankur,这只是给我的,是的。
标签: haskell functional-programming