#2 Apprendre le F# ! Formater du texte

Comment afficher du texte dans la console en F# ?

Il y a deux façons :

  1. printf
  2. Write

Sauf que l’on utilisera que printf ici

Pourquoi utiliser printf / printfn

En trois points :

  1. C’est plus joli que le Write/WriteLine
  2. C’est dans le standart du langage
  3. Et puis c’est tout !

Voici quelque exemple de ce que l’on peut faire avec printf, comme vous le voyez, l’IDE (Visual Studio) est suffisament puissant pour detecter dès que l’on met le mauvais type, trop ou pas assez d’argument, ce qui fait de printf une fonction agréable a utiliser …

Listes des paramètres disponibles

Paramètre Description
%b Boolean (true / false)
%c Character
%d / %i Entier vers décimal
%M Valeur décimale
%O N’importe quelle valeurs, converti en String avec la méthode ToString
%o

N’importe quel chiffre dans un entier octal non signé

%s Pour les string, sans les caractères vides
%u N’importe quel entier vers un décimal non signé
%x Entier vers Hexadécimal avec les lettres de a à f
%X Entier vers Hexadécimal avec les lettres de A à F

Les Différents Printf Disponibles

Fonction Description
bprintf Exporte dans un StringBuilder
eprintf Exporte dans un stderr
eprintfn Exporte dans un stderr avec une nouvelle ligne
fprintf Exporte dans un fichier texte
fprintfn Exporte dans un fichier texte avec une nouvelle ligne
printf Exporte dans un stdout
printfn Exporte dans un stdout, dans une nouvelle ligne
sprintf Exporte la chaine dans un string

Bprintf / Bprintfn

Rempli un StringBuilder

let string_builder = new StringBuilder(500000)
bprintf string_builder "Ligne avec chaine : %s\r\n" "cat"
printf string_builder "Ligne avec boolean : %b\r\n" true
bprintf string_builder "Ligne avec entier: %u\r\n" 42
bprintf string_builder "Ligne avec entier: %i\r\n" 42
bprintf string_builder "Ligne avec hexadecimal : %X\r\n" 255
printfn "%s" (string_builder.ToString()) //On Affiche

Sprintf / Sprintfn

Stocke le résultat dans une variable

let string_s = sprintf "Ligne avec une chaine %s" "c'est une chaine"
printfn "%s" string_s // On affiche

Code Source Disponible

Code disponible sur GITHUB !


22. décembre 2017 Développement, F#