我对f#中变量的肤浅理解表明,将变量声明为“可变”并使用“ref”变量基本上都是同样的事情。它们是解决相同基础问题的不同方式 - 功能语言中有限且结构化的可变性允许,而不必求助于IO Monad。我的理解已经“抽象”了技术上的不同。
我很抱歉,如果这是一个多人,但他们似乎都相关。
答案 0 :(得分:6)
见
http://lorgonblog.wordpress.com/2008/11/12/on-lambdas-capture-and-mutability/
特别是“语言设计评论”部分(我在这里引用它,但它并不孤立,你需要整个博客条目的上下文)。