Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Eleкtro en 20 Febrero 2012, 09:40 am



Título: (Solucionado) [Ruby] Colorizando texto
Publicado por: Eleкtro en 20 Febrero 2012, 09:40 am
Hola

He probado las siguientes gemas en Windows 7 y ninguna me ha funcionado para el propósito:

Paint
Colored gem
win32console


No me dan error, pero no se muestra en color, y sigo los ejemplos al pie de la letra...


¿Tienen idea de como puedo hacer algo parecido a esto bajo windows 7?

(http://kpumuk.info/wp-content/uploads/2007/03/example1.png)

PD: Es posible que no me funcione porque estoy probando en un script rubi con codificación UTF-8?
     Tengo entendido que para ver los colores hay que codificar en ANSI pero no estoy seguro de eso
     ¿Alguna alternativa entonces?



EDITO:

Nada, He probado el "test.rb" oficial de la gema paint por ejemplo, y no se muestra en colores...


Título: Re: [Ruby] Colorizando texto
Publicado por: Eleкtro en 20 Febrero 2012, 10:15 am
Lo he conseguido, Pero no del todo...

Estoy usando win32console


Citar
The recognized normal foreground color attributes (colors 0 to 7) are:

  black  red  green  yellow  blue  magenta  cyan  white

The corresponding bright foreground color attributes (colors 8 to 15) are:

  bright_black  bright_red      bright_green  bright_yellow
  bright_blue   bright_magenta  bright_cyan   bright_white

¿Alguien me explica porque esto SI me funciona:
Código
  1. puts "aaaa".on_red + "dddd".blue

Pero esto NO funciona:
Código
  1. puts "aaaa".bright_red




Código de pruebas:

Código
  1. require 'win32console'
  2. require 'term/ansicolor'
  3.  
  4. class String
  5.  include Term::ANSIColor
  6. end
  7.  
  8. puts "aaaa".bright_red + "dddd".blue
  9. Process.exit


EDITO:

Parece ser que para mostrar el color brillante se hace así:

Código
  1. print "\n ERROR".red.bold

Pero sería intereesante saber para que es entonces "bright", y porque no puedo usarla.

Salu2