F # - Espaces de noms

UNE namespaceest conçu pour fournir un moyen de séparer un ensemble de noms d'un autre. Les noms de classe déclarés dans un espace de noms n'entreront pas en conflit avec les mêmes noms de classe déclarés dans un autre.

Selon la bibliothèque MSDN, un namespace vous permet d'organiser le code en zones de fonctionnalités associées en vous permettant d'attacher un nom à un regroupement d'éléments de programme.

Déclaration d'un espace de noms

Pour organiser votre code dans un espace de noms, vous devez déclarer l'espace de noms comme première déclaration dans le fichier. Le contenu de l'ensemble du fichier fait alors partie de l'espace de noms.

namespace [parent-namespaces.]identifier

L'exemple suivant illustre le concept -

Exemple

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

Lorsque vous compilez et exécutez le programme, il produit la sortie suivante -

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