Ruby 中 STDOUT 的文本格式
我正在编写一个将在 CLI 中运行的小型 Ruby 脚本。
为了改进界面,我需要为我输出的某些元素添加颜色/粗体。
这可行吗? 如果是这样,我几乎可以肯定这是这样,怎么办?
I am writing a small Ruby script that will run in a CLI.
To improve the interface, I need to would love to add color/boldness to some elements that I output.
Is that doable? If so, and I am almost sure this is, how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在许多终端(但不是 Windows)上,您可以使用如下所示的 a 序列:
"\e[#{code}m"
,其中代码基于 这些表。 如果使用多个代码,则必须用分号分隔。 主要代码是:强度:
颜色:
例如,对于蓝色背景上缓慢闪烁的粗体绿色文本,您可以使用
"\e[5;1;32;44mWOW!\e[0m"< /代码>。
\e[0m
将所有内容重置为终端默认值。On many terminals (but not Windows), you can use an a sequence like this:
"\e[#{code}m"
, where the codes are based on these tables. The codes must be separated by a semicolon if using more than one. The major codes are:Intensity:
Color:
So, for example, for slowly blinking, bold green text on a blue background, you would use
"\e[5;1;32;44mWOW!\e[0m"
. The\e[0m
resets everything to the terminal default.有一个名为
rainbow
的 gem,可以非常轻松地设置终端输出的样式。安装后,您可以执行以下操作:
There is a gem called
rainbow
that makes it really easy to style your terminal output.After installing it you can do stuff like:
亲爱的鲁比朋友们!
我更喜欢在 Ruby 中找到默认的集成支持。 我在这里找到了一些,无需安装任何 gem 即可工作:
它适用于 puts 和 print。
Dear Ruby folks!
I prefer to find the default integrated support available within Ruby. Here I've found a few, which may work without installing any gem:
It works with both puts and print.