f# - 如何在 F# 中使用可变变量编写 += 操作
问题描述
在 C# 中,简单的情况是:
i += 1;
除了:
i <- i + 1
有更短的语法吗?
解决方案
不,F# 和函数式编程通常不鼓励可变性。因此,该语言并不方便编写可变代码。
如果您喜欢+=
,您可以自己创建该运算符:
let inline (+=) a b = a := !a + b
// test
let a = ref 100
a += 2
printfn "%d" !a // 102
您可以查看本文以获取有关该Ref
类型的更多信息。
推荐阅读
- html - 为什么我的字体真棒图标背景没有加载?
- python-3.x - 有什么方法可以将多个文件添加到 py2app 自动创建的设置文件中的 data_files 中?
- c++ - 为什么分数带括号时输出总是为零?不管输入是什么
- java - 如何计算参差不齐的二维数组的列长度?
- java - 确定是否有两个连续数字相等的Java递归函数
- android - 在材料 1.1.0 中的 FAB 中设置背景可绘制的问题
- node.js - 在表上插入或更新违反了 UNO 站点中的外键约束
- reactjs - React Loadable SSR - 块加载两次
- vb.net - 对数组内的字母数字字符串进行排序
- git - 合并开发或主控后我应该关闭问题吗?在板上将其标记为已完成怎么样?