【发布时间】:2011-03-14 08:48:48
【问题描述】:
首先,我承认这个问题可能是重复的;请告诉我。
我很好奇在需要可变性的情况下,一般的“最佳实践”是什么。 F# 似乎为此提供了两种工具:let mutable 绑定,它似乎像“大多数”语言中的变量一样工作,以及需要显式取消引用才能使用的引用单元(使用 ref 函数创建)。
在几种情况下,一种情况被“强制”进入其中一种情况:.NET 互操作倾向于将 mutable 与<- 一起使用,而在工作流计算中,必须将ref 与:= 一起使用。所以这些案例非常明确,但我很好奇在这些场景之外创建自己的可变变量时该怎么做。一种风格比另一种风格有什么优势? (也许进一步深入了解实现会有所帮助。)
谢谢!
【问题讨论】:
-
请注意,在 F# 版本 4 中,可以在您过去需要 ref 的地方使用 mutable。 blogs.msdn.com/b/fsharpteam/archive/2014/11/12/…