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?

È stato utile?

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
scroll top