#reason
#Причина
Вопрос:
У меня возникли трудности с поиском ответа на следующий синтаксис в reasonml
module A = B;
Это определено в верхней части .re
файла, и я не знаю, откуда B
оно берется.
Редактировать:
Когда я пытаюсь зарегистрировать как A, так и B, Js.log
я получаю сообщение об ошибке компилятора, в котором говорится, что конструктор не найден.
Ответ №1:
Это псевдоним модуля. Он связывает имя существующего модуля, на который ссылается имя B
, с именем A
.
B
может ссылаться на любой модуль в области видимости, и модули могут быть включены в область видимости несколькими способами. Псевдоним модуля, такой как этот, является одним из способов. Это также может быть локальный подмодуль или подмодуль другого модуля, который был open
отредактирован. Но большинство модулей в области видимости обычно являются модулями верхнего уровня, которые создаются из каждого исходного файла, видимого при компиляции текущего блока / модуля кода. Например, файл с именем foo.re
создаст модуль с именем Foo
.
Для получения более подробной информации см. Документацию Reason и документацию OCaml по модулям.