Сколько ответов, но никто не читает (или не заботится) о вопросе стороны OPs в комментариях?
Я пишу интерпретатор в OCaml .... как я могу проверить номер входа в диапазоне без использования регулярного выражения? - Trung Nguyen 2 марта в 17:30
blockquote>Поскольку так много ответов - правильно - указали, что использование regex ужасно для этого сценария, подумайте о других способах в OCaml! Прошло некоторое время с тех пор, как я использовал OCaml, но, просмотрев несколько конструкций, мне удалось сбить это вместе:
let isInRange i = not(i < -2055 or i > 2055);; let isIntAndInRange s = try let i = int_of_string s in not(i < -2055 or i > 2055) with Failure "int_of_string" -> false;; let () = print_string "type a number: " in let s = read_line () in isIntAndInRange s
Если что-то о непонятно, прочитайте его синтаксис, и функции обработки исключений и .
Пользовательская часть ввода используется только для демонстрации. Возможно, было бы удобнее использовать функцию
read_int
. Но основная концепция обработки исключения остается прежней.