[FR] Cours F#
Cette catégorie regroupe les cours F# que j'ai écrits. Il s'agit d'une introduction au langage, même si certains concepts avancés seront présentés.
Entries feed
- Comments feed
Tuesday, March 22 2011
By Laurent Le Brun on Tuesday, March 22 2011, 17:34
Il est souvent utile de sérialiser ou désérialiser des objets. Je vous propose ici un exemple utilisant le format JSON, qui est souvent utilisé pour les échanges réseau.
Pour cela, on utilise la classe DataContractJsonSerializer qui est apparue avec .NET 3.5 :
Pour utiliser ces fonctions, il suffit d'ajouter l'annotation DataMember et de rendre mutable chaque propriété. Il faut aussi marquer le type avec l'attribut DataContract. Exemple avec une structure :
Et un exemple avec une classe :
Vous pouvez bien sûr essayer cet exemple en ligne avec tryfsharp.org.
no trackbacks
Wednesday, September 2 2009
By Laurent Le Brun on Wednesday, September 2 2009, 00:04
Je viens de relire et corriger toute la section Cours F# de ce site. Les exemples fonctionnent maintenant avec la dernière version de F# (1.9.6.16).
Les principaux changements au niveau du langage concernent :
- les compréhensions de listes, une partie du sucre syntaxique a disparu (le résultat est donc plus verbeux, mais aussi plus cohérent avec le reste) ;
- des renommages dans la bibliothèque : fold1 est devenu reduce ; sort, sortWith (le nouveau sort n'utilise pas de fonction de comparaison) ;
- la syntaxe basée sur l'indentation est utilisée par défaut, plusieurs bogues ont été corrigés ;
- la notation de types (int, string) Map est maintenant dépréciée au profit de Map<int, string>.
Merci à ceux qui ont laissé des commentaires, cela m'a été utile lors de la relecture. N'hésitez pas à signaler tout oubli de ma part.
no trackbacks
Tuesday, June 16 2009
By Laurent Le Brun on Tuesday, June 16 2009, 00:14
Les unités de mesure permettent d'annoter les nombres, améliorant ainsi la lisibilité et la sûreté du code F#.
Continue reading...
no trackbacks
Wednesday, August 6 2008
By Laurent Le Brun on Wednesday, August 6 2008, 18:42
Des exemples avancés pour utiliser les fonctions de type printf. Il existe un certain nombre d'astuces, car cette fonction possède un type assez particulier.
Continue reading...
no trackbacks
Friday, May 30 2008
By Laurent Le Brun on Friday, May 30 2008, 15:44
Un exemple pour obtenir du duck typing (typage dynamique) en F#.
Continue reading...
no trackbacks
Wednesday, January 9 2008
By Laurent Le Brun on Wednesday, January 9 2008, 16:54
Présentation des méthodes dans F# : ajout de méthodes lors de la définition d'un type, méhodes d'extension, arguments optionnels, arguments nommés, surcharge de méthodes et d'opérateurs.
Continue reading...
no trackbacks
Tuesday, January 8 2008
By Laurent Le Brun on Tuesday, January 8 2008, 15:13
Ce billet aborde les structures et leur utilisation dans un monde toujours fonctionnel.
Continue reading...
no trackbacks
Monday, December 17 2007
By Laurent Le Brun on Monday, December 17 2007, 16:06
Ce billet montre une technique pour manipuler élégamment une structure XML. C'est un billet indépendant, ne faisant pas partie de la série de cours.
Continue reading...
no trackbacks
Wednesday, December 5 2007
By Laurent Le Brun on Wednesday, December 5 2007, 01:27
La déclaration de types est présentée ici : alias, énumérations, types sommes. À la fin, deux exemples montrent la manipulation d'arbres en F#.
Continue reading...
no trackbacks
Thursday, November 22 2007
By Laurent Le Brun on Thursday, November 22 2007, 23:18
Ce texte présente les types énumérables (seq) et explique comment on peut écrire du code générique, qui soit indépendant de la structure de données. Ce cours détaille aussi les compréhensions, fonctionnalité permettant de manipuler élégamment des ensembles.
Continue reading...
no trackbacks
Wednesday, November 14 2007
By Laurent Le Brun on Wednesday, November 14 2007, 23:09
Cette page explique le filtrage par motif. C'est une fonctionnalité extrêmement puissante issue du monde fonctionnel.
Continue reading...
no trackbacks
Sunday, November 11 2007
By Laurent Le Brun on Sunday, November 11 2007, 23:02
Ce cours aborde la notion de fonctions d'ordre supérieur, qui permet de gagner beaucoup en généricité. Plusieurs opérateurs sur les fonctions (composition, etc.) sont également détaillés dans cette page.
Continue reading...
no trackbacks
Saturday, November 10 2007
By Laurent Le Brun on Saturday, November 10 2007, 22:57
Les fonctions anonymes, pillier de la programmation fonctionnelle, sont expliquées dans cet article. D'autres concepts importants sont également détaillés : l'application partielle de fonction et les opérateurs manipulant des fonctions.
Continue reading...
no trackbacks
Tuesday, November 6 2007
By Laurent Le Brun on Tuesday, November 6 2007, 22:53
Ceci est le troisième cours de F#. Il s'agit d'une introduction aux fonctions : leur déclaration, leur utilisation.
Continue reading...
no trackbacks
Wednesday, October 31 2007
By Laurent Le Brun on Wednesday, October 31 2007, 22:48
Ce billet explique le fonctionnement des expressions conditionnelles (if, then, else), des définitions (locales et globales), ainsi que du mode "light" (basé sur l'indentation).
Continue reading...
no trackbacks
By Laurent Le Brun on Wednesday, October 31 2007, 22:35
Ce billet présente les types les plus courants de F# : entiers, chaines de caractères, listes, etc.
Continue reading...
no trackbacks
Tuesday, October 30 2007
By Laurent Le Brun on Tuesday, October 30 2007, 22:04
Ce premier billet sert d'introduction au F#. Rapide description du langage, installation et premier programme.
Continue reading...
no trackbacks
Monday, October 1 2007
By Laurent Le Brun on Monday, October 1 2007, 23:25
Présentation du langage F#, ce langage fonctionnel et objet, dédié à la plate-forme .NET : pourquoi apprendre F#, et pourquoi est-il maintenant devenu mon langage de choix.
Continue reading...
no trackbacks
Sunday, July 15 2007
By Laurent Le Brun on Sunday, July 15 2007, 01:57
Ce billet est basé en grande partie sur le papier Extensible Pattern Matching via a Lightweight Language Extension. Il présente le concept d'active patterns, une généralisation du pattern matching.
Continue reading...
no trackbacks
Sunday, May 6 2007
By Laurent Le Brun on Sunday, May 6 2007, 01:34
Cet article ne fait pas partie de l'introduction à F# : c'est un article indépendant, qui présente une fonctionnalité peu connue de F#. Si vous débutez, vous pouvez sauter sans problème ce billet.
Continue reading...
no trackbacks
Last comments