Есть ли модуль Ruby для раскрашивания строк в терминале Linux?
Цвет терминала в Ruby
Ответы (5)
Я предпочитаю Rainbow gem, так как он также поддерживает Windows, если установлен win32console gem.
Вы можете использовать его следующим образом:
puts "some " + "red".color(:red) + " and " + "blue on yellow".color(:blue).background(:yellow)
Эм, хорошо, Google был моим другом :)
http://term-ansicolor.rubyforge.org/
Все, что вам нужно сделать, это начать с "\e[##m" и закончить с "\e[0m"
Просто замените ## номером цвета. Примеры:
31:Red32:Green33:Yellow34:Blue35:Magenta36:Teal37:Grey
1:Bold (can be used with any color)
Вот скрипт Ruby, показывающий все цвета терминала. Загрузите его или запустите приведенный ниже код.
def color(index)
normal = "\e[#{index}m#{index}\e[0m"
bold = "\e[#{index}m\e[1m#{index}\e[0m"
"#{normal} #{bold} "
end
8.times do|index|
line = color(index + 1)
line += color(index + 30)
line += color(index + 90)
line += color(index + 40)
line += color(index + 100)
puts line
end
Использование методов класса String, таких как:
class String
def black; "\033[30m#{self}\033[0m" end
def red; "\033[31m#{self}\033[0m" end
def green; "\033[32m#{self}\033[0m" end
def brown; "\033[33m#{self}\033[0m" end
def blue; "\033[34m#{self}\033[0m" end
def magenta; "\033[35m#{self}\033[0m" end
def cyan; "\033[36m#{self}\033[0m" end
def gray; "\033[37m#{self}\033[0m" end
end
и использование:
puts "This prints green".green
puts "This prints red".red
Я большой поклонник Ruby colorize gem, который я недавно скачал. Как только вы загрузите и включите его в свою программу, вы можете добавить
.colorize(:blue)
до конца любой строки. Вы можете использовать большинство цветов, в том числе перед цветом light_, например так:
.colorize(:light_blue)
вы также можете сделать цвета фона, например:
puts "mytext".colorize(:background => :green
раскрашенные подчеркивания, например:
puts "mytext".on_blue.underline
Или используйте HTML-подобные теги для этого.
puts <blue> "text text text" </blue>
Чтобы раскрасить GitHub, перейдите на страницу Раскрасьте GitHub.
Вы можете установить драгоценный камень раскраски, набрав
gem install colorize
в свой терминал, командную строку, что угодно. Затем поместите это в свой файл, прежде чем использовать его.
Например:
require 'rubygems'
require 'colorize'
puts "mytext".colorize(:red)
Но нет:
puts "mytext".colorize(:red)
require 'rubygems'
require 'colorize'
Операторы require должны быть в программе в строках до использования драгоценного камня.
"string".redчтобы получить красный текст. Подробнее :D - person omninonsense   schedule 04.09.2011