ruby 因为没人喜欢猴子补丁。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 因为没人喜欢猴子补丁。相关的知识,希望对你有一定的参考价值。

# Description: chainable color classes that don't hack the string class
#
#  Example:
#    ColorString.new('foo').bold.red.underline
#
class ColorString < String
  def black;         self.class.new("\e[30m#{self}\e[0m") end
  def red;           self.class.new("\e[31m#{self}\e[0m") end
  def green;         self.class.new("\e[32m#{self}\e[0m") end
  def brown;         self.class.new("\e[33m#{self}\e[0m") end
  def blue;          self.class.new("\e[34m#{self}\e[0m") end
  def magenta;       self.class.new("\e[35m#{self}\e[0m") end
  def cyan;          self.class.new("\e[36m#{self}\e[0m") end
  def gray;          self.class.new("\e[37m#{self}\e[0m") end

  def bg_black;      self.class.new("\e[40m#{self}\e[0m") end
  def bg_red;        self.class.new("\e[41m#{self}\e[0m") end
  def bg_green;      self.class.new("\e[42m#{self}\e[0m") end
  def bg_brown;      self.class.new("\e[43m#{self}\e[0m") end
  def bg_blue;       self.class.new("\e[44m#{self}\e[0m") end
  def bg_magenta;    self.class.new("\e[45m#{self}\e[0m") end
  def bg_cyan;       self.class.new("\e[46m#{self}\e[0m") end
  def bg_gray;       self.class.new("\e[47m#{self}\e[0m") end

  def bold;          self.class.new("\e[1m#{self}\e[22m") end
  def italic;        self.class.new("\e[3m#{self}\e[23m") end
  def underline;     self.class.new("\e[4m#{self}\e[24m") end
  def blink;         self.class.new("\e[5m#{self}\e[25m") end
  def reverse_color; self.class.new("\e[7m#{self}\e[27m") end
end

以上是关于ruby 因为没人喜欢猴子补丁。的主要内容,如果未能解决你的问题,请参考以下文章

您如何检测到 Ruby 中发生了猴子补丁?

ruby 猴子补丁模式

ruby 猴子补丁模式

ruby 猴子补丁用keen.io保存查询

寻找可能导致麻烦的 Ruby 猴子补丁的来源?

ruby 可选的Jekyll猴子补丁使用终端通知器来指示Jekyll构建完成。放入_plugins / ext.rb