首页 > 解决方案 > 如何在 F# 中使用可变变量编写 += 操作

问题描述

在 C# 中,简单的情况是:

i += 1;

除了:

i <- i + 1

有更短的语法吗?

标签: f#

解决方案


不,F# 和函数式编程通常不鼓励可变性。因此,该语言并不方便编写可变代码。

如果您喜欢+=,您可以自己创建该运算符:

let inline (+=) a b = a := !a + b
// test
let a = ref 100
a += 2
printfn "%d" !a // 102

您可以查看本文以获取有关该Ref类型的更多信息。


推荐阅读