đ RĂ©capâ
Types
5 collections dont 4 fonctionnelles/immutables
List: choix par défautPasse-partout
Pratique : pattern matching, opérateurs Cons
::et Append@...
Array: mutabilité / performanceSeq: évaluation différée (Lazy), séquence infinieSet: unicité des élémentsMap: classement des éléments par clé
API
Riche â Centaine de fonctions >> Cinquantaine pour LINQ
HomogĂšne
â Conservation du type de la collection (â avec LINQ, bascule sur IEnumerable<>)
â Syntaxe et fonctions communes entre les types de collection
SĂ©mantique â Nom des fonctions proche du JS (cf. tableau ci-dessous)
Comparatif CâŻ, FâŻ, JavaScript
C⯠LINQ
FâŻ
JS Array
Select(), SelectMany()
map, collect
map(), flatMap()
Any(predicate), All()
exists, forall
some(), every()
Where(), Ă
filter, choose
filter(), Ă
First(), FirstOrDefault()
find, tryFind
Ă, find()
Ă
pick, tryPick
Ă
Aggregate([seed]])
fold, reduce
reduce()
Average(), Sum()
average, sum
Ă
ToList(), AsEnumerable()
List.ofSeq, toSeq
Ă
Zip()
zip
Ă
Exercices
Sur exercism.io, voici quelques exercices sur les collections :
High Scores
Facile
List
Protein Translation
Moyen+
Seq/List đĄ
ETL
Moyen
Map de List, Tuple
Grade School
Moyen+
Map de List
â PrĂ©-requis : â Se crĂ©er un compte, avec GitHub par exemple â RĂ©soudre les 1ers exercices pour arriver Ă ceux-lĂ
Ressources complémentaires
Choosing between collection functions, F# for fun and profit, Août 2015
Mis Ă jour
Ce contenu vous a-t-il été utile�