#2 Apprendre le F# ! Formater du texte

Rédigé par TecKnologikS le mardi novembre 29, 2016






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 ... 

Miniature

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

Miniature

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

Miniature

Code Source Disponible 

Code disponible sur GITHUB !



Permalien - Tags: f#, sharp, tuto, tutoriaux, format, text, texte, formater, apprendre

« #1 Apprendre le F# ! HelloWorld - #3 Apprendre le F# ! Les Fonctions »