In questo previous question ho appreso che in F # uno array<'T>
non corrisponde a System.Array
.F # - Cos'è l'array <'T>?
VS indica che array<'T>
eredita System.Array
e ha il nome completo Microsoft.FSharp.Core.array<_>
e alcune interfacce aggiuntive.
Tuttavia MSDN indica che array<'T>
è un tipo di abbreviazione di System.Array
. E che ha la notazione arr.[i]
per ottenere e impostare gli elementi.
Quindi per la mia lezione, è array<'T>
un'abbreviazione di tipo che include estensioni di tipo e interfacce aggiuntive? Dov'è il posto migliore per cercare questo?
Si noti inoltre che i tipi generici possono essere scritti prima del tipo e senza parentesi angolari, quindi è possibile scrivere, ad esempio, 'stringa array' che legge molto bene; molto più bello di 'array' o 'stringa []'. –
Jwosty
come posso creare estensioni di tipo su '[]'? 'tipo Microsoft.FSharp.Collections.Array con arr .last membro con get() = arr. [arr.Length -1]' non funziona per me – Goswin
per estensione di tipo vedi: http://stackoverflow.com/questions/18359825/f-how-to-extended-the-generico-array-type – Goswin