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 に答える