Эквивалент 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)

Другие вопросы по тегам