我用过 List.exists(),我想知道是否有 Db 的等价物。
如果我有一个函数 f(e) : bool,我想知道是否至少有一个元素 e,其中 f(e) -> true。目前我使用 Db.intmap_fold_range(),但它会遍历所有 Db,而性能最好在第一次返回 true 时停止。
我用过 List.exists(),我想知道是否有 Db 的等价物。
如果我有一个函数 f(e) : bool,我想知道是否至少有一个元素 e,其中 f(e) -> true。目前我使用 Db.intmap_fold_range(),但它会遍历所有 Db,而性能最好在第一次返回 true 时停止。
我想你的数据库是一个 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)