Ruby 颜色代码和字符串插值

Ruby 颜色代码和字符串插值,ruby,console-application,Ruby,Console Application,我正在尝试给文本上色。说我想要蓝色文本。这是我得到它的方式: "\e[34mThis is blue text.\e[0m" 我正在使用define_method创建多个方法(每种颜色一个)。我将每种颜色的颜色代码保存在一个数组中。我迭代了颜色数组和颜色代码,并执行以下操作: "\e#{code}m[#{self}\e[0m" 当我运行它时,我得到的是“m[test”,而不是彩色文本 你有什么想法吗?如果我不是用实际的代码,而是用20个,每种颜色一个,而且不会变干。你可能是复制粘贴的受害者:

我正在尝试给文本上色。说我想要蓝色文本。这是我得到它的方式:

"\e[34mThis is blue text.\e[0m"
我正在使用
define_method
创建多个方法(每种颜色一个)。我将每种颜色的颜色代码保存在一个数组中。我迭代了颜色数组和颜色代码,并执行以下操作:

"\e#{code}m[#{self}\e[0m"
当我运行它时,我得到的是
“m[test”
,而不是彩色文本


你有什么想法吗?如果我不是用实际的代码,而是用20个
,每种颜色一个,而且不会变干。

你可能是复制粘贴的受害者:)


开头的方括号应该跟在
\e
后面,而不是
m

你的问题与rubygems无关。我正在创建一个,所以我想我应该添加标签。
#               ⇓  incorrect
puts "\e#{code}m[#{self}\e[0m"

#       ⇓  correct
puts "\e[#{code}m#{self}\e[0m"