2010-10-19 4 views
7

Ma compréhension superficielle des variables dans f # suggère que déclarer une variable pour être 'mutable' et utiliser une variable 'ref' essentiellement les deux font la même chose. Ce sont deux manières différentes d'aborder la même question sous-jacente - une tolérance limitée et structurée de la mutabilité dans un langage fonctionnel sans avoir à recourir à la Mona IO. Qu'il y ait une technique différente a été «abstraite» selon ma compréhension.Mutable vs variables Réf en termes de capture

  1. Si tel est le cas, pourquoi les fermetures ne peuvent-elles pas capturer des variables mutables, mais elles peuvent capturer des instances de référence?
  2. Plus généralement, quelle est la différence technique entre les deux formes qui permet cette différence? Quel est le but du point de vue de la conception du langage d'introduire deux raccourcis de mutabilité plutôt qu'un seul?

Je suis désolé si c'est un multi-parter, mais ils semblent tous liés.

Répondre

Questions connexes