Не найдено - исключение в OCaml

exception mapping ocaml

684 просмотра

1 ответ

85 Репутация автора

Я пытаюсь проверить сопоставление, которое я сделал, чтобы увидеть, есть ли какие-либо значения, которые соответствуют слову, которое я посылаю. Но он должен возвращать ноль, когда не найдено ни одного экземпляра. Вместо этого это бросает Exception: Not_found.и выходит.

Есть ли способ, как я могу поймать эту ошибку? Я думал, что Некоторые и Никто должны были сделать трюк.

let word_count word =
            match DictMap.find word word_mapping with
            | None -> 0
            | Some count -> count;;
Автор: Andrew Feather Источник Размещён: 17.07.2016 11:33

Ответы (1)


2 плюса

741 Репутация автора

Я предполагаю , что DictMapнекоторые результаты применения в Mapфунктор . Используйте try- with(а не optionтип), поскольку findвызывает исключение, а не возврат, Noneкогда ключ не найден.

let word_count word = try DictMap.find word word_mapping with Not_found -> 0;;
Автор: FPstudent Размещён: 20.07.2016 05:45
Вопросы из категории :
32x32