Я хочу использовать регулярные выражения в OCaml, и мне кажется, что модуль Str
предоставляет эти функции.
Итак, я попробовал с простой программой:
open Str
let regx = regexp "."
но это дает мне следующую ошибку
Файл "lol.ml", строка 1, символы 0-1: Ошибка: Ошибка при связывании lol.cmo: Ссылка на неопределенный глобальный `Str '
Как будто модуля нет, но если я удалю open Str
, он говорит, что regexp
является несвязанным значением.
Я не понимаю, что это за проблема, Str
должен быть стандартным модулем (согласно http://caml.inria.fr/pub/docs/old-311/libref/Str.html), так что я ничего не понимаю .. единственное, что я думал, это подпись ( mli
) присутствует, а реализация (ml
) - нет.
Я использую Objective Caml version 3.11.0
в соответствии с ocaml
инструментом.
Может ли кто-нибудь помочь мне разобраться в этом? заранее спасибо
Str
. Его API не реентерабелен, что приводит к всевозможным проблемам. К счастью, у PCRE есть хорошие привязки OCaml по адресу: ocaml.info/home/ocaml_sources.html Вы также можете проверить Mikmatch для поддержки синтаксиса поверх движка PCRE. - person Michael Ekstrand   schedule 11.07.2010