Domanda

Ci sono un sacco di librerie da colorare: colorato, termine-ANSIColor. Ma c'è qualche che può fare questo:

puts "#{'hello'.red} world!".bold

E world! deve essere in grassetto.

Per chiarire, io voglio arrivare a questo:

"\e[1m\e[31mhello\e[0m\e[1m world!\e[0m"

o meglio anche questo (appena più corta):

"\e[1;31mhello\e[0;1m world!\e[0m"

al posto di questo:

"\e[1m\e[31mhello\e[0m world!\e[0m"
È stato utile?

Soluzione

Come non c'è nessuno, ho scritto il mio, con il blackjack e prostitute Smart One - smart_colored

gem install smart_colored

ed eseguire

require 'smart_colored/extend'
# without extend you'll need to use 'string'.colored.red

puts "#{'hello'.red} world!".bold

Altri suggerimenti

Il lib si chiama Highline Ha un metodo di color: say("This should be <%= color('bold', BOLD) %>!") Il che può essere facilmente utilizzato per implementare String#bold.

Nel caso in cui si utilizza highline ho fatto una gemma che si estende i colori e fornisce aiutanti come ad esempio:

say_bold 'this is bold text'

https://github.com/bonzofenix/highline-color

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top