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