引用单元指的是存储位置。它允许您创建可变的值。F#默认使用不可变的数据结构。
您可以使用ref运算符创建引用单元格。它具有实际价值。
可以使用!取消引用引用单元格!(砰)操作员。它使用:=运算符赋新值。
语法:
ref expression
F#引用单元示例
let refVariable = ref 50 printf "%d" refVariable.Value
输出:
50
F#引用单元示例2
let refVariable22 = ref 50 printf "%d" refVariable.ValuerefVariable22 := 100 // 值已更改,因为它是可变的。
printf "\n%d" refVariable22.Value
输出:
50 100
F#引用单元值属性和内容字段示例
let refVariable = ref 50// 使用 Value 属性和 <- 运算符修改值 refVariable.Value <- 101 printf "\n%d" refVariable.Value
// 使用内容字段和 <- 运算符修改值 refVariable.contents <- 102 printf "\n%d" refVariable.contents
输出:
101 102
F#引用单元与可变变量
引用单元格和可变变量都可以在所有情况下使用,只是编译器不允许在lambda表达式、序列表达式等中使用可变变量。在这种情况下,可以使用引用单元格。