PRIN1-PRINC-PRINT-PROMPT

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
 (prin1 "test")
"test""test"
(prin1 'a)
A
(setq a 123.456)
(prin1 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

 

 

Si la fonction (prin1) est utilisée sans argument elle renvoie une chaîne vide, donc si on la positionne en dernière ligne d'une fonction dans un fichier "*.lsp" une ligne vierge en ligne de commande sera affichée, on peut ainsi quitter "proprement" une application.

 


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"


PRINT

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

 


Haut de page

Revenir au menu FICHIERS


26 décembre 2017, mise à jour le 05 janvier 2018