Comment afficher du texte dans la console en F# ?
Il y a deux façons :
- printf
- Write
Sauf que l’on utilisera que printf ici
Pourquoi utiliser printf / printfn
En trois points :
- C’est plus joli que le Write/WriteLine
- C’est dans le standart du langage
- 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