Recherche…


Introduction

Comme la plupart des valeurs OCaml, les enregistrements sont immuables par défaut. Cependant, puisque OCaml gère également la programmation impérative, il fournit un moyen de rendre les champs individuels modifiables . Les champs modulables peuvent être modifiés sur place par affectation, plutôt que d'avoir à recourir aux techniques fonctionnelles habituelles, telles que la mise à jour fonctionnelle.

Tout en introduisant des effets secondaires, les champs mutables peuvent améliorer les performances lorsqu'ils sont utilisés correctement.

Déclarer un enregistrement avec des champs mutables

Dans la suite, le weight est déclaré comme un champ mutable.

type person = {
  name: string;
  mutable weight: int
};;

Remarque : En ce qui concerne le design, on pourrait considérer le fait que le nom d'une person ne change pas, mais son poids l'est.

Initialisation d'un enregistrement avec des champs modifiables

L'initialisation d'un enregistrement avec des champs modifiables n'est pas différente d'une initialisation régulière des enregistrements.

let john = { name = "John"; weight = 115 };;

Définition de la valeur sur un champ mutable

Pour attribuer une nouvelle valeur à un champ d'enregistrement modifiable, utilisez l'opérateur <- .

john.weight <- 120;;

Remarque : L'expression précédente a un type d' unit .



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow