4

我用过 List.exists(),我想知道是否有 Db 的等价物。

如果我有一个函数 f(e) : bool,我想知道是否至少有一个元素 e,其中 f(e) -> true。目前我使用 Db.intmap_fold_range(),但它会遍历所有 Db,而性能最好在第一次返回 true 时停止。

4

1 回答 1

3

我想你的数据库是一个 IntMap 如果你可以使用Db.intmap_fold_range.

这是一个示例代码:

// Testing function
f(key, val) = key == 42

// Check existence in "mymap"
res = IntMap.exists(f, /mymap)

如果您查看源代码,您会发现它仅用于折叠必要的元素:)(文件:stdlib/core/map/map.opa

于 2011-07-14T08:26:32.390 回答