可变记录字段
与大多数OCaml值一样,默认情况下记录是不可变的。但是,由于OCaml还处理命令式编程,因此它提供了一种使各个字段可变的方法 。可变字段可以通过赋值进行就地修改,而不必采用常用的功能技术,例如功能更新。
在引入副作用时,可变字段在正确使用时可以提高性能。
使用可变字段初始化记录
let john = { name = "John"; weight = 115 };;
声明具有可变字段的记录
下文中, weight被声明为可变字段。
type person = {
name: string;
mutable weight: int
};;
将值设置为可变字段
要为可变记录字段分配新值,请使用<-运算符。
john.weight <- 120;;
注意 :前一个表达式具有unit类型。