Buscar..


Introducción

Como la mayoría de los valores de OCaml, los registros son inmutables por defecto. Sin embargo, dado que OCaml también maneja la programación imperativa, proporciona una manera de hacer que los campos individuales sean mutables . Los campos mutables se pueden modificar in situ por asignación, en lugar de tener que recurrir a las técnicas funcionales habituales, como la actualización funcional.

Al introducir efectos secundarios, los campos mutables pueden dar como resultado un mejor rendimiento cuando se usan correctamente.

Declarar un registro con campos mutables.

A continuación, el weight se declara como un campo mutable.

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

Observación : En lo que se refiere al diseño aquí, uno podría considerar el hecho de que el nombre de una person probablemente no cambie, pero su peso sí lo es.

Inicializando un registro con campos mutables

La inicialización de un registro con campos mutables no es diferente de la inicialización de un registro regular.

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

Estableciendo el valor en un campo mutable

Para asignar un nuevo valor a un campo de registro mutable, use el operador <- .

john.weight <- 120;;

Nota : La expresión anterior tiene un tipo de unit .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow