2016-05-16 66 views
-3

我想着色文本。說我想要藍色文字。這是我得到它的方式:我使用define_method創建多個方法(每種顏色)顏色代碼和字符串插值

"\e[34mThis is blue text.\e[0m" 

。我將每種顏色的顏色代碼保存在一個數組中。我遍歷數組的顏色和顏色代碼兩者,做到這一點:

"\e#{code}m[#{self}\e[0m" 

當我運行它,我得到"m[test"而不是彩色文本。

有什麼想法?如果,而不是#{code},我把實際的代碼,它的工作原理,但這就像20 if s,每種顏色一個,它不會幹。

+0

你的問題與rubygems無關。 – sawa

+0

我正在創建一個,所以我想我會添加標籤。 –

回答

3

你很可能會複製粘貼的受害者:)

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

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

的左方括號應遵循\e,不m

+0

我不能夠感謝你:) –