Salve a tutti,
ho questo codice:

codice:
type Field() =
  let mutable a = 0.0
  //altre variabili interne e corrispondenti proprietà

  member x.Angle
    with get() = a
    and set(v) = a <- v
nel mio controllo grafico ho:

codice:
let mutable fields = Array2D.create 30 30 (new Field())

//[...]

for i in 0 .. Array2D.length1(fields)-1 do
  for j in 0 .. Array2D.length2(fields)-1 do
    a <- //un certo valore
    printf "angolo %f\n" a
    fields.[i,j].Angle <- a
    printf "%f\n" fields.[i,j].Angle
e fin qui nessun problema.

se però provo a scandire nuovamente la mia matrice subito dopo

codice:
for l in 0 .. Array2D.length1(fields)-1 do
  for m in 0 .. Array2D.length2(fields)-1 do
    printf "i,j = %d,%d - a %f\n" l m fields.[l,m].Angle
la printf mi stampa sempre lo stesso valore, precisamente quello dell'ultimo elemento in matrice

P.S: F#