OCaml
Campi record mutabili
Ricerca…
introduzione
Come la maggior parte dei valori OCaml, i record sono immutabili per impostazione predefinita. Tuttavia, poiché OCaml gestisce anche la programmazione imperativa, fornisce un modo per rendere mutevoli i singoli campi. I campi mutabili possono essere modificati sul posto per incarico, piuttosto che dover ricorrere alle solite tecniche funzionali, come l'aggiornamento funzionale.
Pur introducendo effetti collaterali, i campi mutabili possono migliorare le prestazioni se utilizzati correttamente.
Dichiarazione di un record con campi mutabili
Di seguito, il weight è dichiarato come campo mutabile.
type person = {
name: string;
mutable weight: int
};;
Nota : per quanto riguarda il design qui, si potrebbe considerare il fatto che il nome di una person non cambierà probabilmente, ma il loro peso è.
Inizializzazione di un record con campi mutabili
L'inizializzazione di un record con campi mutabili non è diversa da un'inizializzazione di record normale.
let john = { name = "John"; weight = 115 };;
Impostazione del valore su un campo mutabile
Per assegnare un nuovo valore a un campo di registrazione mutabile, utilizzare l'operatore <- .
john.weight <- 120;;
Nota : l'espressione precedente ha un tipo di unit .