Eingefärbte Ruby-Ausgang - Stapelüberlauf
Während die anderen Antworten werden die Arbeit gut für die meisten Menschen tun, soll erwähnt werden, die „richtige“ Unix Art und Weise, dies zu tun. Da alle Arten von Textterminals nicht diese Sequenzen unterstützen, können Sie die Datenbank abfragen term, eine Abstraktion über die Fähigkeiten der verschiedenen Textterminals. Dies könnte vor allem von historischem Interesse scheinen - Software-Terminals heute im Einsatz unterstützen im Allgemeinen die ANSI-Sequenzen - aber es muss (mindestens) eine praktische Wirkung: es manchmal nützlich ist, um die Umgebungsvariable TERM auf stumm zu setzen in der Lage sein, alle solche zu vermeiden Styling, zum Beispiel, wenn die Ausgabe in eine Textdatei zu speichern. Außerdem fühlt es sich gut Dinge richtig zu machen. -)
Sie können den Rubin-Edelstein verwenden term. Es braucht einige C zu installieren, kompilieren; Ich konnte es unter mit meinem Ubuntu 14.10-System installieren:
Dann können Sie die Datenbank wie diese Abfrage (siehe Seite term Mannes für eine Liste von dem, was Codes steht zur Verfügung):
Hier ist ein kleines Wrapper-Klasse I zusammen, um die Dinge ein wenig einfacher zu bedienen.

(Edit) Schließlich, wenn Sie lieber nicht ein Juwel benötigen, können Sie auf dem tput Programm verlassen, wie hier beschrieben - Ruby-Beispiel:
Auch der Artikel Kolorieren Konsole Rubin-Skript-Ausgabe ist nützlich, wenn Sie benötigen, um Ihre eigene Perle zu schaffen. Es wird erläutert, wie ANSI-Färbung in Strings hinzuzufügen. Dieses Wissen können Sie es verwenden, in irgendeiner Klasse zu wickeln, die Zeichenfolge oder etwas erweitert.
beantwortet 28. September '09 um 20:38 Uhr
Hier ist, was ich tat, um es ohne funktioniert keine Edelsteine zu benötigen:
Dann wird nur der Text in Anführungszeichen ist farbig, und Sie zu Ihrem regelmäßigen Programm zurückgegeben.
beantwortet 28. September '09 um 20:29 Uhr
Und auf diesem Link, um die Probe zu verbessern, können Sie die String-Klasse erweitern, um es einfacher zu benutzen ( „Hallo“ .red): class String; def rot; Kolorieren (self, "\ 033 [31m"); Ende; end - Adriano P 18 Jul '12 um 16:06 Uhr
Ich habe diese Methode, die helfen könnte. Es ist keine große Sache, aber es funktioniert:
Hier ist, wie es zu benutzen:
Mögliche Verbesserungen könnten sein:
- Farben und bgColors werden jedesmal, wenn die Methode definiert aufgerufen wird und sie sich nicht ändern.
- Fügen Sie andere Optionen wie fett. unterstreichen. dimmen. etc.
Diese Methode funktioniert nicht für p. wie p eine tut, um ihr Argument zu untersuchen. Beispielsweise:
zeigt "\ e [0; 38mHello Welt \ e [0m"
Getestet habe ich es mit Puts. drucken. und das Logger Juwel, und es funktioniert gut.
Ich verbessert dies und machte eine Klasse so Farben und bgColors Klassenvariablen sind und kolorieren ist eine Klassenmethode:
Sie können es verwenden, indem Sie: