我正在测试一个可以在终端输出颜色的 gem:
module Color
def self.colorize(text, color_code)
"#{color_code}#{text}e[0m"
end
def self.red(text)
self.colorize(text, "\033[1;31;12m")
end
end
我在同一目录下有一个测试文件,名为color_test.rb:
require_relative 'color.rb'
puts Color.red('I should be red')
这将导致以下结果:
$ ruby color_test.rb
I should be red
测试显示为红色。太棒了。然而,在Rails控制台中却没有发生同样的情况:
$ rails c
Loading development environment (Rails 4.1.1)
2.0.0-p247 :001 > require 'color'
=> true
2.0.0-p247 :003 > Chroma.colourise('text',"\033[1;31;12m")
=> "\e[1;31;12mtexte[0m"
那么我该如何避免它?(如果这是正确的术语的话:P)我也希望能够在控制台中显示加粗文本和其他样式。
这仅用于测试,因此我可以下载一些适用于rails控制台的扩展,但是如果有一种方法将此功能打包到gem中并给控制台添加颜色,那就很酷了。如果有人能向我展示如何做到这一点,我会很高兴的。