如何使用另一个模块

Dmi*_*ruk 17 f# module

我有两个F#模块,比如A.fs中的A和B.f中的B模块.但是,当我使用模块B中的模块A时,F#看不到它.我试过的所有组合open的指令,即open A,open MyNamespace.A,等等-没有什么帮助.我究竟做错了什么?

Pet*_*sen 35

我猜.文件在项目资源管理器中显示的顺序非常重要.当你想使用模块B中的模块A时,A.fs必须出现在B.fs.之前.

  • 在我的机器上它是ALT + up/ALT + down. (4认同)

Jac*_*ack 5

由于F#不允许递归模块(IIRC),您唯一需要关心的是模块的顺序是正确的(您不能"转发声明"它们),以便您构建添加模块,只需要以前的一步一步.

如果您发现在一组模块之间存在循环引用的情况,则必须将公共部分分解出来并删除循环.

这个问题可以澄清一个主题:F#模块之间的相互递归