F#-名前空間

A namespaceは、名前のセットを別のセットから分離する方法を提供するために設計されています。ある名前空間で宣言されたクラス名は、別の名前空間で宣言された同じクラス名と競合しません。

MSDNライブラリによると、 namespace プログラム要素のグループに名前を付けることができるようにすることで、コードを関連する機能の領域に編成できます。

名前空間の宣言

コードを名前空間に編成するには、ファイルの最初の宣言として名前空間を宣言する必要があります。その後、ファイル全体の内容が名前空間の一部になります。

namespace [parent-namespaces.]identifier

次の例は、概念を示しています-

namespace testing

module testmodule1 =
   let testFunction x y =
      printfn "Values from Module1: %A %A" x y
module testmodule2 =
   let testFunction x y =
      printfn "Values from Module2: %A %A" x y

module usermodule =
   do
      testmodule1.testFunction ( "one", "two", "three" ) 150
      testmodule2.testFunction (seq { for i in 1 .. 10 do yield i * i }) 200

プログラムをコンパイルして実行すると、次の出力が得られます。

Values from Module1: ("one", "two", "three") 150
Values from Module2: seq [1; 4; 9; 16; ...] 200