Inizializzazione di un c # -stricare da f #?
Domanda
Ho una semplice c # struct che voglio consumare da f #:
public struct Stat : IEquatable<Stat>
{
public ulong st_dev;
public long st_blocks;
}
.
Il modo in cui ho trovato farlo si sente troppo c # ish e mutabile per me:
stbuf <- new Stat()
stbuf.st_blocks <- 0
stbuf.st_dev <- 1
.
Per non parlare del fatto che in C # potrei usare lo zucchero di sintassi del bello new Stat { st_blocks = 0, st_dev = 1 }
...
Ora che mi sto convertito in F #, sto iniziando a ottenere allergici all'operatore di assegnazione <-
, quindi c'è un modo per migliorarlo?
Soluzione
C'è la sintassi per impostare proprietà o campi mutabili nel costruttore:
stbuf <- Stat(st_blocks = 0L, st_dev = 1UL)
.
Nota che non è necessario il new
in F # tranne che è generalmente raccomandato sulle cose IDisposable
.Si noti inoltre i suffissi necessari per specificare i letterali dei tipi appropriati.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow