Как использовать один модуль из другого - PullRequest
17 голосов
/ 24 ноября 2010

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

Ответы [ 2 ]

35 голосов
/ 24 ноября 2010

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

5 голосов
/ 24 ноября 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...