A Day in the Life

def color

def color

出力を色づけしたいけどライブラリ使うまでもない(highline時に color メソッド定義して最近よく使うなーって思ったので貼り付けときます。String#color として定義してないのは気分のもんだい。

def color(str, color = 31, newline = true)
  if STDOUT.tty?
    print "\033[1;#{color}m%s\033[0m#{newline ? "\n" : ''}" % str
  else
    print "%s#{newline ? "\n" : ''}" % str
  end
end

ちゃんとライブラリでやりたい人は

にまとまってますね。highline ぐらいしかぱっと思いつかなかった…

関連するかもエントリー

stdout, stderr の出力を文字列として記録する
stdout, stderr の出力を文字列として記録する別にグローバル変数でなくても良いんだけど、STDOUT/STDERR インスタンスの匿名クラスで stringio にも記録させる。require 'stringio' $str_stdout_err = StringIO...
stdout, stderr の出力を文字列として記録する別にグローバル変数でなくても良いんだけど、STDOUT/STDERR インスタンス...
2011-06-15
Ruby で Array を継承したクラスをうまくあつかうRuby で Array を継承/Mix-inしたクラスで、自分で定義した便利なメソッドを利用したい時ってありますよね。そんなとき普通にclass MyArray < Array def odd select ...
Ruby で Array を継承したクラスをうまくあつかうRuby で Array を継承/Mix-inしたクラスで、自分で定義した便利なメ...
String を継承したクラスでのブロック内部の正規表現後方参照の挙動
String を継承したクラスでのブロック内部の正規表現後方参照の挙動class MyString < String def gsub(*args, &block) super end end puts String.new('123').gsub(/(\d)/...
String を継承したクラスでのブロック内部の正規表現後方参照の挙動class MyString < String def gsub(...