3

我知道这在 C# 中是不可能的;最近的事情是在代码文件的顶部形成一个别名。有没有办法在 F# 中做到这一点?

有关我的问题的 C# 类似物,请参阅此问题:

我的猜测是“不,使用别名。” 但没有冒险,没有收获。

4

1 回答 1

5

打开命名空间的最小范围是在模块中。

一种解决方法是将函数及其打开的命名空间放入自动打开的子模块中,以便open命令不会污染父模块并且子模块对用户是透明的:

[<AutoOpen>]
module Utils =
    open System.IO    
    // Now you do not have to include the full paths.
    let writeToFile filename (text: string) =  
      let stream = new FileStream(filename, FileMode.Create)
      let writer = new StreamWriter(stream)
      writer.WriteLine(text)
于 2012-04-25T12:13:31.463 回答