書き換え可能なレコード

2008年1月28日
1 分

レコードを宣言するときにフィールド名の前に 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"}

ちゃんと書き換わった。