Partager via


Type d’unité

Le unit type est un type qui indique l’absence d’une valeur spécifique ; le unit type n’a qu’une seule valeur, qui agit comme un espace réservé lorsqu’aucune autre valeur n’existe ou n’est nécessaire.

Syntaxe

// The value of the unit type.
()

Remarques

Chaque expression F# doit être évaluée à une valeur. Pour les expressions qui ne génèrent pas de valeur intéressante, la valeur du type unit est utilisée. Le unit type ressemble au void type dans les langages tels que C# et C++.

Le unit type a une valeur unique et cette valeur est indiquée par le jeton ().

La valeur du unit type est souvent utilisée dans la programmation F# pour contenir l’emplacement où une valeur est requise par la syntaxe du langage, mais quand aucune valeur n’est nécessaire ou souhaitée. Par exemple, il peut s’agir de la valeur de retour d’une printf fonction. Étant donné que les actions importantes de l’opération printf se produisent dans la fonction, la fonction n’a pas besoin de retourner une valeur réelle. Par conséquent, la valeur de retour est de type unit.

Certaines constructions attendent une unit valeur. Par exemple, une do liaison ou n’importe quel code au niveau supérieur d’un module doit être évaluée à une unit valeur. Le compilateur signale un avertissement lorsqu’une liaison ou un do code au niveau supérieur d’un module produit un résultat autre que la unit valeur qui n’est pas utilisée, comme illustré dans l’exemple suivant.

let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore

Cet avertissement est une caractéristique de la programmation fonctionnelle ; il n’apparaît pas dans d’autres langages de programmation .NET. Dans un programme purement fonctionnel, dans lequel les fonctions n’ont aucun effet secondaire, la valeur de retour finale est le seul résultat d’un appel de fonction. Par conséquent, lorsque le résultat est ignoré, il s’agit d’une erreur de programmation possible. Bien que F# n’est pas un langage de programmation purement fonctionnel, il est recommandé de suivre le style de programmation fonctionnel dans la mesure du possible.

Voir aussi