【发布时间】:2020-12-22 08:51:00
【问题描述】:
我正在对我的一个项目进行一些重组,并决定为其中很大一部分创建一个单独的库项目。
我的问题在于我有多个带有模块的文件,其中许多应该对用户 API 隐藏,我该如何实现?我以前没有尝试过,所以不熟悉库结构与命令行项目的不同之处,以及如何正确界定事物的范围。如果我可以看到 lib 项目中的每个文件 其他项目为什么我们有 Library.fs 文件?
正式一点。假设我有 SomeCode.fs 和 Library.fs
SomeCode.fs
module SomeCode
type SomeType = ...
let someFunc1 ... = ...
// things to hide here
// depend on hidden code
let SomeFunc2 ... = ...
库.fs
namespace SomeLib
module Mod1 = ...
这旨在针对其他 F# 项目。如何构建它以便 API 只能看到正确的内容,并且仍然可以维护?
【问题讨论】: