レコード式のコピーと更新

"レコードをコピーし、更新する式" は、既存のレコードをコピーし、指定のフィールドを更新し、更新後のレコードを返す式です。

構文

{ record-name with
    updated-labels }

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

解説

レコードと匿名レコードは既定で変更不可であり、既存のレコードを更新することはできません。 レコードを更新するには、レコードの全フィールドをもう一度指定する必要があります。 この作業を簡単にするために "コピーと更新の式" を使用できます。 この式は既存のレコードを受け取り、式で指定されたフィールドと、式で指定されたが足りないフィールドを使用して同じ型の新しいレコードを作成します。

既存のレコードをコピーし、ことによるとフィールド値の一部を変更しなければならないとき、これは便利です。

たとえば、新しく作成されたレコードがあります。

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

そのレコードの中で 2 つのフィールドだけを更新する場合、"レコードをコピーし、更新する式" を使用できます。

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

関連項目