Эквивалент List.exists для Db
Я использовал List.exists(), я хотел бы знать, есть ли эквивалент для Db.
Если у меня есть функция f(e): bool, я хотел бы знать, существует ли хотя бы один элемент e с f(e) -> true. В настоящее время я использую Db.intmap_fold_range(), но он перебирает все Db, в то время как было бы лучше, чтобы выступления останавливались при первом возвращении true.
1 ответ
Я полагаю, ваша БД является 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)