書き換え可能なレコード

レコードを宣言するときにフィールド名の前に mutable キーワードをつけることで,書き換え可能にすることができる。

 # type teacher = {name : string; mutable office : string};;
 type teacher = { name : string; mutable office : string; }

これで office フィールドを書き換えることができるレコードができた。
具体的な値を作って:

 # let t = {name = "Igarash"; office = "140"};;
 val t : teacher = {name = "Igarash"; office = "140"}

書き換えてみよう。書き換えは文字列の場合と似ていて,. (ドット)の後にフィールド名を書く。

 # t.office <- "142";;
 - : unit = ()
 # t;;
 - : teacher = {name = "Igarash"; office = "142"}

ちゃんと書き換わった。