我对f#变量的表面理解表明,将变量声明为“可变”并使用“ ref”变量基本上都在做同一件事。它们都是解决同一基本问题的不同方法 - 功能性语言中可突变性的有限且结构化的津贴,而无需诉诸IO Monad。通过我的理解,已经“抽象”了技术不同。

  1. 如果是这种情况,为什么关闭不能捕获可变变量,但是它们可以捕获裁判实例?
  2. 更笼统地,两种形式之间的技术不同是什么?
  3. 从语言设计的角度出发的目的是引入两个可变性快捷方式,而不仅仅是一个?

很抱歉,如果这是一个多部分,但它们似乎都相关。

有帮助吗?

解决方案

http://lorgonblog.wordpress.com/2008/11/12/on-lambdas-capture-and-mutability/

尤其是“语言设计评论”部分(我在这里引用它,但它并不孤单,您需要整个博客条目以获取上下文)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top