我正在尝试着色文字。说我想要蓝色文字。这就是我得到它的方式:
"\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,每种颜色一个,并且它不会干。
答案 0 :(得分:3)
您可能是复制粘贴的受害者:)
# ⇓ incorrect
puts "\e#{code}m[#{self}\e[0m"
# ⇓ correct
puts "\e[#{code}m#{self}\e[0m"
开头方括号应遵循\e
,而不是m
。