Formation F#
  • Intro
  • Bases
    • Le F♯, c'est quoi ?
    • Syntaxe
    • Premiers concepts
    • 🍔 Quiz
  • Fonctions
    • Signature
    • Fonctions
    • Fonctions standard
    • OpĂ©rateurs
    • Fonctions : complĂ©ments
    • 🍔 Quiz
    • 📜 RĂ©cap’
  • Types composites
    • GĂ©nĂ©ralitĂ©s
    • Tuples
    • Records
    • Unions
    • Enums
    • Records anonymes
    • Types valeur
    • 🍔 Quiz
  • Types : ComplĂ©ments
    • Type unit
    • GĂ©nĂ©riques
    • Types flexibles
    • UnitĂ©s de mesure
    • Conversion
    • Exceptions F#
  • Pattern matching
    • Patterns
    • Match expression
    • 🚀 Active Patterns
    • 📜 RĂ©cap’
  • Collections
    • Vue d'ensemble
    • Types
    • Fonctions gĂ©nĂ©riques
    • Fonctions spĂ©cifiques
    • 🍔 Quiz
    • 📜 RĂ©cap’
  • Programmation asynchrone
    • Workflow asynchrone
    • Interop avec la TPL .NET
    • 📜 RĂ©cap’
  • Types monadiques
    • Type Option
    • Type Result
    • Smart constructor
    • 🚀 Computation expression (CE)
    • 🚀 CE - Fondements thĂ©oriques
    • 📜 RĂ©cap’
  • Module & namespace
    • Vue d'ensemble
    • Namespace
    • Module
    • 🍔 Quiz
    • 📜 RĂ©cap’
  • OrientĂ©-objet
    • Introduction
    • Membres
    • Extensions de type
    • Classe, structure
    • Interface
    • Expression objet
    • Recommandations
  • 🩚 Aller plus loin
Propulsé par GitBook
Sur cette page
  • Types
  • API
  • Comparatif C♯, F♯, JavaScript
  • Exercices
  • Ressources complĂ©mentaires

Cet article vous a-t-il été utile ?

Modifier sur GitHub
  1. Collections

📜 RĂ©cap’

Types

5 collections dont 4 fonctionnelles/immutables

  • List : choix par dĂ©faut

    • Passe-partout

    • Pratique : pattern matching, opĂ©rateurs Cons :: et Append @...

  • Array : mutabilitĂ© / performance

  • Seq : Ă©valuation diffĂ©rĂ©e (Lazy), sĂ©quence infinie

  • Set : unicitĂ© des Ă©lĂ©ments

  • Map : 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

Exercice
Niveau
Sujets

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

PrĂ©cĂ©dent🍔 QuizSuivantWorkflow asynchrone

DerniĂšre mise Ă  jour il y a 2 ans

Cet article vous a-t-il été utile ?

Sur , voici quelques exercices sur les collections :

, F# for fun and profit, Août 2015

, 2020

exercism.io
Toutes les fonctions, avec leur coût en O(?)
Choosing between collection functions
An F# Primer for curious C# developers - Work with collections
Formatage des collections