OCaml
Переменные поля записи
Поиск…
Вступление
Как и большинство значений OCaml, записи по умолчанию неизменяемы. Однако, поскольку OCaml также обрабатывает императивное программирование, обеспечивает способ сделать отдельные поля изменчивы. Измененные поля могут быть изменены на месте путем назначения, а не прибегать к обычным функциональным методам, таким как функциональное обновление.
При введении побочных эффектов изменяемые поля могут привести к повышению производительности при правильном использовании.
Объявление записи с изменяемыми полями
В дальнейшем weight объявляется изменчивым полем.
type person = {
name: string;
mutable weight: int
};;
Примечание: Что касается дизайна обеспокоен здесь, можно было бы рассмотреть вопрос о том , что person имя «s, вероятно, не изменится, но их вес.
Инициализация записи с изменяемыми полями
Инициализация записи с изменяемыми полями не отличается от обычной инициализации записи.
let john = { name = "John"; weight = 115 };;
Установка значения в изменяемое поле
Чтобы присвоить новое значение изменяемому полю записи, используйте оператор <- .
john.weight <- 120;;
Примечание . Предыдущее выражение имеет тип unit .