Изменяемые переменные vs Ref с точки зрения захвата

StackOverflow https://stackoverflow.com/questions/3970484

  •  09-10-2019
  •  | 
  •  

Вопрос

Мое поверхностное понимание переменных в f # предполагает, что объявление переменной "изменяемой" и использование переменной "ref", по сути, делают одно и то же.Это оба разных способа решения одной и той же основной проблемы - ограниченного и структурированного учета изменчивости на функциональном языке без необходимости прибегать к монаде ввода-вывода.То, что существует техническая разница, было "абстрагировано", насколько я понимаю.

  1. Если это так, то почему замыкания не могут захватывать изменяемые переменные, но они могут захватывать экземпляры ref?
  2. В более общем плане, в чем заключается техническое различие между двумя формами, которое допускает такое различие?
  3. Какова цель с точки зрения языкового дизайна введения двух ярлыков изменчивости, а не только одного?

Мне жаль, если это многоаспектный рассказ, но все они кажутся связанными.

Это было полезно?

Решение

Видишь

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

особенно раздел "комментарии к языковому дизайну" (я бы процитировал его здесь, но он не стоит особняком, вам нужна вся запись в блоге для контекста).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top