我是Ruby的新手,我想要一部分字符串被着色。對於這一點,我寫了一個類畫家Colorise在Ruby中的部分字符串
class Painter
Red='\033[0;31m' # Red color
Green='\033[0;32m' # Green color
.
.
.
def paint(text, color)
return "#{color}#{text}\e[0m"
end
end
我用這
puts "Green color looks like #{Painter.new.paint("this", Painter::Green)} and Red color looks like #{Painter.new.paint("this", Painter::Red)}"
我可以解決這個問題,如果我寫的方法,如
def greenify(text)
return "\033[0;32m#{text}\e[0m"
end
但是這意味着一個原因的方法太多。有沒有一種方法可以使這種情況變得生動?
這是因爲您使用單引號的顏色。像'\ 033'這樣的轉義序列不是用單引號處理,而是用雙引號https://stackoverflow.com/a/16601500/3072566 – litelite
哦謝謝,你可以添加這個作爲答案,以便它可以幫助別人。它完美的作品。 – Rajkiran