Sto provando a creare una mappa ricorsiva in F #.Riferimento mappa ricorsiva in F #
type RecMap = Map<string, RecMap>
non funziona, perché il riferimento ciclico RecMap
. Ma perché è che né
type RecMap = Map<string, RecMap ref>
né
type RecMap = (Map<string, RecMap>) ref
opere? Ho pensato che rendere il tipo di valore della mappa in un RecMap ref
avrebbe dovuto fare il trucco.
eludere il problema riscrivendo RecMap
in un uno dei membri di tipo record di opere,
type RecMap = { r : Map<string, RecMap> }
Records sono tipi di riferimento, proprio come ref
, ma perché il lavoro non arbitri nelle definizioni ricorsive, quando i record fanno?
Aka, tipo sigla - http://msdn.microsoft.com/en-us/library/dd233246.aspx –
@Tony - grazie, I' Ho aggiornato la mia risposta per essere più preciso. – kvb