Я пытаюсь использовать библиотеку Ocaml Str в Ocaml v5.0 (для регулярного выражения) путем импорта с использованием «open Str», но я продолжаю получать эту ошибку
"Модуль `Str' недоступен"
после этого предупреждения
" Макет каталога OCaml lib изменился в версии 5.0. Подкаталог str был автоматически добавляется в путь поиска, но вы должны добавить -I +str к командной строки, чтобы отключить это предупреждение (например, добавив str в список библиотеки в файле dune или добавление use_str в файл _tags для ocamlbuild или используя -package str для ocamlfind). "
Я новичок в OCaml, буду признателен за любую помощь.
Я попытался ввести «добавить -I +str» в командную строку, но получил еще одну ошибку. Я не уверен, как добавить библиотеку в мой файл дюны, поэтому я еще не пытался этого сделать.
Библиотека Str является отдельной библиотекой и не является частью стандартной библиотеки. Более того, библиотеки не импортируются с операторами open в OCaml.
Вам нужно добавить строфу libraries
в файл дюны:
(libraries str)
Вы можете игнорировать предупреждение, предназначенное для предыдущих пользователей библиотеки str
, которые полагались на тот факт, что библиотека str
ранее находилась в одном месте со стандартной библиотекой.
Также обычно рекомендуется по возможности избегать библиотеки str
и использовать одну из других библиотек регулярных выражений из opam.
Дальнейшее чтение с некоторыми подробностями о том, почему str
не рекомендуется. stackoverflow.com/questions/3221067/…
Мое предположение: не пишите «добавить -I +str», просто ставьте «-I +str».