引用单元指的是存储位置。它允许您创建可变的值。F#默认使用不可变的数据结构。
您可以使用ref运算符创建引用单元格。它具有实际价值。
可以使用!取消引用引用单元格!(砰)操作员。它使用:=运算符赋新值。
语法:
ref expression
let refVariable = ref 50 printf "%d" refVariable.Value
输出:
链接:https://www.learnfk.comhttps://www.learnfk.com/fsharp/f-sharp-reference-cells.html
来源:LearnFk无涯教程网
50
let refVariable22 = ref 50 printf "%d" refVariable.Value refVariable22 := 100 // 值已更改,因为它是可变的。 printf "\n%d" refVariable22.Value
输出:
链接:https://www.learnfk.comhttps://www.learnfk.com/fsharp/f-sharp-reference-cells.html
来源:LearnFk无涯教程网
50 100
let refVariable = ref 50 // 使用 Value 属性和 <- 运算符修改值 refVariable.Value <- 101 printf "\n%d" refVariable.Value // 使用内容字段和 <- 运算符修改值 refVariable.contents <- 102 printf "\n%d" refVariable.contents
输出:
链接:https://www.learnfk.comhttps://www.learnfk.com/fsharp/f-sharp-reference-cells.html
来源:LearnFk无涯教程网
101 102
引用单元格和可变变量都可以在所有情况下使用,只是编译器不允许在lambda表达式、序列表达式等中使用可变变量。在这种情况下,可以使用引用单元格。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)