Подтвердить что ты не робот

Как использовать один модуль из другого

У меня есть два модуля F #, скажем, модуль A в A.fs и B в B.fs. Однако, когда я использую модуль A из модуля B, F # его не видит. Я пробовал все комбинации директив open, т.е. open A, open MyNamespace.A и т.д. - ничего не помогает. Что я делаю неправильно?

4b9b3361

Ответ 1

Я угадываю. Очень важен порядок, который файлы отображаются в проводнике проекта. Если вы хотите использовать модуль A из модуля B, A.fs должен появиться перед B.fs.

Ответ 2

Так как F # не разрешает рекурсивные модули (IIRC), единственное, что вам нужно заботиться, это то, что порядок модулей верен (вы не можете "переслать объявить" их), чтобы вы построили добавление модуля, который требует только предыдущих шагов шаг за шагом.

Если вы когда-либо находите ситуацию, когда у вас есть циклическая ссылка между набором модулей, вам придется отделить общую часть и удалить цикл.

Этот другой вопрос может прояснить тему: F # взаимная рекурсия между модулями