码迷,mamicode.com
首页 > 其他好文 > 详细

ruby 输出彩色内容到控制台

时间:2019-12-16 13:23:58      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:color   mamicode   输出   back   做了   ruby   结果   mba   red   

程序输出控制台时,为了区分输出信息的严重程度,可以使用颜色符号等来做标识。

ruby 也支持设置输出内容的颜色,比如运行以下代码:

以下内容是百度到的,因发现很多博客都是同样的写法,所以出处反而没法写了。。。

puts "\033[1mBackground Colors...\033[0m\n"
puts "   \033[40m\033[37mBlack (40), White Text\033[0m\n"
puts "   \033[41mRed (41)\033[0m\n"
puts "   \033[42mGreen (42)\033[0m\n"
puts "   \033[43mYellow (43)\033[0m\n"
puts "   \033[44mBlue (44)\033[0m\n"
puts "   \033[45mMagenta (45)\033[0m\n"
puts "   \033[46mCyan (46)\033[0m\n"
puts "   \033[47mWhite (47)\033[0m\n"

控制台能看到这样的结果:

技术图片

我们研究这个输出的内容:"\033[47mWhite (47)\033[0m\n",发现重点就是 \033[47m\033[0m\n,剩下的是输出的内容。

基于该原理,我们可以写出通用的调用方式:

def puts_with_style(style_index, *contents)
  contents.each do |content|
    puts "\033[#{style_index}m#{content}\033[0m\n"
  end
  nil
end

做了下循环调用测试,样式最高支持到 107,运行下面代码可测试:

108.times do |index|
  puts_with_style(index, index, "   color")
end

猜想这可能是控制台的输出规则,尝试了下 golang,发现该方式也是可行的。那我估计 python 等其他语言也是一样,大家可以尝试尝试。

ruby 输出彩色内容到控制台

标签:color   mamicode   输出   back   做了   ruby   结果   mba   red   

原文地址:https://www.cnblogs.com/linying1991/p/12021828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!