我对f#中变量的肤浅理解表明,将变量声明为“可变”并使用“ref”变量本质上都可以做相同的事情。它们都是解决同一基本问题的不同方法-功能语言中有限且结构化的可变性允许,而不必诉诸IO Monad。根据我的理解,存在技术上的差异。
很抱歉,如果这是一个多方合作伙伴,但它们似乎都相关。
最佳答案
看
http://lorgonblog.wordpress.com/2008/11/12/on-lambdas-capture-and-mutability/
尤其是“语言设计评论”部分(我在这里引用了它,但是它并不是很好地独立,您需要整个Blog条目作为上下文)。