12
votes

Comment puis-je obtenir une sortie colorée avec le terme Printf et Perl :: ansicolor?

y a-t-il un moyen d'obtenir avec printf de la sortie colorée? xxx

sortie: (seulement nouvelle ligne)


2 commentaires

@ NiRy et Murugaperumal: j'ai besoin de printf "% 4.4s \ n"


C'est une question différente de "façon d'obtenir printf sortie colorée". À ce stade, vous avez la réponse.


6 Réponses :


6
votes

Le problème est "% 4.4s \ n" Essayez "% s \ n" \ N "Ça fonctionnera. La raison en est que les couleurs sont des caractères (caractères d'évacuation) et vous les coupez. essayez printf "% s \ n", longueur (coloré ('0123456789', 'Green')); Pour mieux comprendre.


0 commentaires

11
votes

Vous devez changer votre code comme le Suivant xxx

Parce que nous ne pouvons pas obtenir le premier 4 caractère dans la chaîne. Si vous donnez la valeur de chaîne sur le printemps fonction il imprimera la valeur jusqu'à Null caractère. Nous ne pouvons pas obtenir le premier 4 caractères.


0 commentaires

22
votes

Je suppose que vous voulez quelque chose comme ce qui suit: xxx


0 commentaires

5
votes

Le moyen le plus simple d'imprimer une sortie colorée peut être

use Term::ANSIColor qw(:constants);
print RED, "Stop!\n", RESET;
print GREEN, "Go!\n", RESET;


0 commentaires

2
votes

Si vous souhaitez utiliser des couleurs dans l'impression, faites le follage:

Terme d'utilisation :: ansicolor qw (: constantes);

puis utilisez les noms de couleurs spécifiques.

Par exemple: Si vous souhaitez imprimer du texte en caractères gras verts, utilisez: impression vert gras "passé", réinitialiser; .

La réinitialisation réinitialise la couleur à la normale.

Si vous souhaitez imprimer du texte en couleur rouge clignotant, utilisez: Imprimer Blink Bold Red "Échec!", RESET;

Si vous souhaitez afficher une barre de progression par exemple en utilisant une "boîte" verte, utilisez: imprimer sur_green "", réinitialiser;

Un autre Twik: Si vous souhaitez repositionner le curseur, accrochez l'écran, utilisez: impression "\ 033 [x; yh"; où x est la ligne POS et Y est la colonne POS, pour Exple: Imprimer "\ 033 [5; 7H";


0 commentaires

2
votes

Il s'agit d'une solution pour préserver l'alignement de l'espace lors de l'impression de la valeur multiple (par exemple, de dB): xxx


0 commentaires