Копирование и обновление выражений записей

Выражение копии и обновления записи — это выражение , копирующее существующую запись, обновляет указанные поля и возвращает обновленную запись.

Синтаксис

{ record-name with
    updated-labels }

{| anonymous-record-name with
    updated-labels |}

Замечания

Записи и анонимные записи по умолчанию неизменяемы, поэтому невозможно обновить существующую запись. Чтобы создать обновленную запись, все поля записи необходимо будет указать еще раз. Чтобы упростить эту задачу, можно использовать выражение копирования и обновления. Это выражение принимает существующую запись, создает новый из того же типа, используя указанные поля из выражения и отсутствующие поля, указанные выражением.

Это может быть полезно при копировании существующей записи и, возможно, изменении некоторых значений поля.

Например, только что созданная запись.

let myRecord2 =
    { MyRecord.X = 1
      MyRecord.Y = 2
      MyRecord.Z = 3 }

Чтобы обновить только два поля в этой записи, можно использовать выражение копирования и обновления записи:

let myRecord3 = { myRecord2 with Y = 100; Z = 2 }

См. также