В Windows вы можете легко сделать это тремя способами:
require 'win32console'
puts "\e[31mHello, World!\e[0m"
Теперь вы можете расширить String с помощью небольшого метода red
require 'win32console'
class String
def red
"\e[31m#{self}\e[0m"
end
end
puts "Hello, World!".red
Также вы можете расширить строку таким образом, чтобы получить больше цветов:
require 'win32console'
class String
{ :reset => 0,
:bold => 1,
:dark => 2,
:underline => 4,
:blink => 5,
:negative => 7,
:black => 30,
:red => 31,
:green => 32,
:yellow => 33,
:blue => 34,
:magenta => 35,
:cyan => 36,
:white => 37,
}.each do |key, value|
define_method key do
"\e[#{value}m" + self + "\e[0m"
end
end
end
puts "Hello, World!".red
Или, если вы можете установить гемы:
gem install term-ansicolor
А в вашей программе:
require 'win32console'
require 'term/ansicolor'
class String
include Term::ANSIColor
end
puts "Hello, World!".red
puts "Hello, World!".blue
puts "Annoy me!".blink.yellow.bold
Пожалуйста, смотрите документацию по термину / ansicolor для получения дополнительной информации и возможности использования.