有很多着色库:彩色,术语 - ansicolor。 但有没有可以做到这一点:
puts "#{'hello'.red} world!".bold
world!
应该是粗体。
为了说清楚,我想得到这个:
"\e[1m\e[31mhello\e[0m\e[1m world!\e[0m"
或甚至更好(更短):
"\e[1;31mhello\e[0;1m world!\e[0m"
而不是:
"\e[1m\e[31mhello\e[0m world!\e[0m"
答案 0 :(得分:8)
由于没有,我写了自己的,<打击>与二十一点和妓女聪明的一个 - smart_colored
gem install smart_colored
并运行
require 'smart_colored/extend'
# without extend you'll need to use 'string'.colored.red
puts "#{'hello'.red} world!".bold
答案 1 :(得分:0)
lib被称为Highline
它有一个color
方法:say("This should be <%= color('bold', BOLD) %>!")
这可以很容易地用于实现String#bold
。
答案 2 :(得分:0)
如果你使用的是高线,我制作了一个扩展颜色的宝石并提供帮助,例如:
say_bold 'this is bold text'