颜色代码和字符串插值

时间:2016-05-16 10:55:48

标签: ruby console-application

我正在尝试着色文字。说我想要蓝色文字。这就是我得到它的方式:

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

我使用define_method创建多个方法(每种颜色一个)。我将每种颜色的颜色代码保留在一个数组中。我迭代颜色数组和颜色代码,并执行此操作:

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

当我运行它时,我得到"m[test"而不是彩色文本。

有什么想法?如果我将实际代码改为#{code}而不是if,那么它就可以使用,但它就像20 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="USERNAME" android:id="@+id/userName" android:textStyle="bold|italic" android:paddingTop="4dp" android:paddingLeft="2dp" android:layout_below="@+id/linear" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> s,每种颜色一个,并且它不会干。

1 个答案:

答案 0 :(得分:3)

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

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

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

开头方括号应遵循\e,而不是m