Logo de kxs.frFiches pour l'informatique

Produit ou n-uplet

Déclaration

Les produits ou n-uplets sont des données structurées en Ocaml. Ils peuvent contenir des élément de types différents. On peut créer des produits de produits. On appelle paire un produit de deux éléments.

# let p1 = (1, "ert", 2.5);;
val p1 : int * string * float = (1, "ert", 2.5)
# let p2 = (1, ("ert", "azf"), 2.5);;
val p2 : int * (string * string) * float = (1, ("ert", "azf"), 2.5)

Accès aux éléments

Pour accéder aux éléments d'un produit on utilise un motif avec des variables. Si on veut ignorer un élément on utilise le nom de variable _ :

# let (a, (b, _), _) = p2;;
val a : int = 1
val b : string = "ert"

Il est possible pour les paires d'accéder au premier élément avec la fonction fst et au deuxième élément avec la fonction snd :

# let p3 = (1, 2);;
val p3 : int * int = (1, 2)
# fst p3;;
- : int = 1
# snd p3;;
- : int = 2

Les fonctions peuvent également utiliser des produits en argument :

# let f ((x1, y1), (x2, y2)) = (x1 - x2) + (y1 - y2);;
val f : (int * int) * (int * int) -> int = <fun>