F # - Ad alanları

Bir namespacebir isim kümesini diğerinden ayrı tutmanın bir yolunu sağlamak için tasarlanmıştır. Bir ad alanında bildirilen sınıf adları, başka bir ad alanında belirtilen aynı sınıf adlarıyla çakışmaz.

MSDN kitaplığına göre, bir namespace bir grup program öğesine bir ad eklemenize olanak sağlayarak kodu ilgili işlevsellik alanlarında organize etmenize olanak tanır.

Bir Ad Alanı Bildirme

Kodunuzu bir ad alanında düzenlemek için ad alanını dosyadaki ilk bildirim olarak belirtmeniz gerekir. Tüm dosyanın içeriği daha sonra ad alanının bir parçası haline gelir.

namespace [parent-namespaces.]identifier

Aşağıdaki örnek kavramı göstermektedir -

Misal

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

Programı derleyip çalıştırdığınızda, aşağıdaki çıktıyı verir -

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