Quatre fonctions
qui "impriment"
PRIN1
Cette fonction affiche une expression sur la ligne de commande ou bien l'écrit dans un fichier ouvert.
Syntaxe | (prin1 [expression [descripteur-fichier]]) |
Argument | expression , une expression AutoLISP, peut être une expression quelconque ; elle ne doit pas nécessairement être une chaîne de caractères, les valeurs numériques aussi sont supportées.descripteur-fichier, optionnel, le descripteur d'un fichier ouvert pour écriture, obtenu pas la fonction (open) |
Valeur renvoyée | l'expression entrée en argument
rien, si (prin1) est sans argument ou si l'expression est vide |
Exemples :
Syntaxe | Valeur renvoyée | |
|
"test""test" | |
|
A | |
|
123.456 |
Tous ces éléments s'affichent en ligne de commande car il n'y a pas de descripteur de fichier donné en argument.
Si la variable fic fait référence à un descripteur de fichier ouvert par la fonction (open) la ligne suivant écrira la chaîne en argument dans le fichier en référence.
(prin1 "Ligne à écrire dans le fichier" fic) |
Si la chaîne contient des caractères de contrôle ils sont retranscrits en toutes lettres dans la chaîne renvoyée ou écrits dans le fichier s'il y en a un exprimé en argument.
Tableau des caractères de contrôle:
Code | description |
\\ | Caractère \ |
\" | Caractère " |
\e | Caractère d'échappement |
\n | Saut de ligne |
\r | Retour chariot |
\t | Tabulation |
\nnn | Caractère dont le code octal est nnn |
\U+xxxx | Séquence unicode |
\M+Nxxxx | Séquence unicode |
PRINC
Cette fonction est identique à (prin1) à la différence que les caractères de contrôle ne sont pas écrits en toutes lettres mais interprétés, par exemple :
1 | (princ "\nligne avec retour à la ligne \n maintenant" fic) |
va écrire dans le fichier "fic"
ligne avec retour à la ligne (sur une ligne)
maintenant (avec retour à la ligne suivante)
Comme pour (prin1) on peut utiliser (princ) sans argument pour terminer "proprement" une fonction lisp, car elle va "imprimer" une ligne vide.
dans certains didacticiels cela est exprimé comme "sortir silencieusement"
Cette fonction aussi est identique à (prin1) à la différence qu' elle place un caractère de saut de ligne devant la chaîne expression passée en argument et une espace après.
PROMPT
Syntaxe : (prompt "message")
Valeur renvoyée : nil
Affiche le "message" passé en argument sur la ligne de commande
TERPRI
En dernière minute je rajoute cette fonction qui est sans grand intérêt mais qui existe et de ce simple fait doit d'être citée.
Cette fonction ajoute un saut de ligne en ligne de commande.
(terpri) |
Il n'est pas possible d'ajouter un saut de ligne dans un fichier externe avec (terpri) pour ce faire voir (princ), ou (prin1) ou encore (print). |
26 décembre 2017, mise à jour le 05 janvier 2018