Le coppie in Ocaml

Nel linguaggio Ocaml posso definire una coppia ordinata (a,b) usando anche tipi di dati differenti.

Cos'è una coppia? Una coppia è un elemento del prodotto cartesiano di due insiemi A e B.

Per scrivere una coppia racchiudo gli elementi tra parentesi tonde e li separo con una virgola.

Gli elementi della coppia possono essere tipi di dati diversi e anche funzioni.

Nota. In senso più generale se gli elementi sono più di due si parla di tuple o più specificatamente di triple (3 elementi), quadruple (4 elementi), ecc. Pertanto, la coppia è un caso particolare di tupla composta da due elementi.

Un esempio pratico

Definisco una coppia formata da due interi

let x = (2,3);;

Il costruttore di tipi di Ocaml mi conferma che si tratta di un tipo di dato int x int

val x : int * int = (2,3)

Dove il simbolo * non è la moltiplicazione, in questo caso è l'equivalente del simbolo matematico x del prodotto cartesiano.

Esempio 2

Definisco una coppia formata da un intero e una stringa

let y = (4, "prova");;

In questo caso Ocaml accetta la stringa come composizione di un tipo intero e di un tipo stringa.

val y : int * string = (4, "prova")

Come leggere gli elementi in una coppia

Per leggere gli elementi della coppia (a,b) in Ocaml posso usare due funzioni predefinite in Ocaml:

  • fst() legge il primo elemento della coppia
  • snd() legge il secondo elemento della coppia

Un esempio pratico

Definisco una coppia composta dagli interi 2 e 3

let x = (2,3);;

La funzione fst(x) estrapola il primo elemento.

fst(x);;

L'output è

- : int = 2

La funzione snd(x) estrapola il secondo elemento.

snd(x);;

L'output è

- : int = 3

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Ocaml