puts      Commandes Internes Tcl
NOM
puts - Ecrit dans un canal 
SYNTAXE
puts ?-nonewline? ?channelId? string
DESCRIPTION
Ecrit les caractères donnés par 
string dans le canal donné par 
channelId. 
ChannelId doit être un identificateur de canal tel que celui renvoyé par un précédent appel de 
open ou 
socket. It doit avoir été ouvert pour une sortie. Si aucun 
channelId n'est spécifié alors il est par defaut de 
stdout. 
Puts normalement emet un caractère newline après 
string, mais cette fonctionnalité peut être supprimé en specifiant le switch
 - nonewline. 
Les caractères newline dans la sortie sont traduits par 
puts en séquences fin de ligne spécifique à la plate-forme en accord avec la valeur courante de l'option 
-translation pour le canal (par exemple, sur les PCs les saut de lignes sont normalement remplacé avec carriage-return-linefeed séquences;  sur Macintosh les saut de lignes sont normalement remplacé avec carriage- return). Voir la page de manuel 
fconfigure pour une discussion sur la manière dans laquelle 
fconfigure modifie la sortie. 
Tcl met la sortie en tampon en interne, donc les caractères écrits avec 
puts peuvent ne pas apparaitre immédiatement sur le fichier ou périphérique de sortie;  Tcl retarde normalement la sortie jusqu'a ce que le tampon soit plein ou le canal fermé. Vous pouvez forcer la sortie à apparaitre immédiatement avec la commande
 flush. 
Quand le tampon de sortie est plein, la commande 
puts bloquera  normalement jusqu'a ce que toutes les données en tampon aient été acceptées pour sortie par le système d'exploitation. Si 
channelId est en mode non bloquant alors la commande 
puts ne bloquera pas même si le système d'exploitation ne peut pas accepter  les données. Par contre, Tcl continue à mettre les données en tampon et les écrit en arrière-plan aussi vite que le sous-jacent fichier ou périphérique peut les accepter. L'application doit utiliser la boucle d'évènement Tcl pour que la sortie non bloquante fonctionne; autrement Tcl ne voit jamais que le fichier ou le périphérique est prèt à sortir plus de données. Il est possible pour une arbitrairement large quantité de données d'être en tampon pour un canal en mode non bloquant, ce qui peut consommer une large quantité de mémoire. Pour éviter de gaspiller la mémoire, les I/O nonbloquantes doivent normalement être utilisées d'une façon pilotée par évènement avec la commande 
fileevent (n'appellez pas 
puts à moins que vous ayez recemment notifié via un évènement fichier que le canal est prèt à afficher plus de données).
VOIR EGALEMENT
Dernière révision: 7.5