首先,我承认这个问题有可能是一个复制品; 请让我知道。
我很好奇在需要可变性的情况下,一般的“最佳实践”是什么。F # 似乎为此提供了两种工具: let mutable
绑定,在“大多数”语言中,它似乎像变量一样工作; 以及引用单元(用 ref
函数创建) ,它需要显式的解引用才能使用。
有几种情况,其中一个是“强迫”到一个或另一个: 。NET 互操作倾向于在 <-
中使用可变的,并且在工作流计算中必须在 :=
中使用 ref
。所以这些情况非常明确,但我很好奇在这些情况之外创建自己的可变变量时要做些什么。一种风格比另一种风格有什么优势?(或许进一步深入了解实现会有所帮助。)
谢谢!