256色端末で動作する 'Term::ANSIColor'のような宝石はありますか? perlスクリプト256colors2.plはmy terminalでうまくいきました。私はこれらの色を手作業でANSIコードを挿入することなくルビースクリプトで使いたいと思います。Rubyの256色の端末ライブラリですか?
12
A
答えて
11
ここthis guideからいくつかの助けを借りて、ルビーする256colors2.plスクリプトの適応があります。これは、あなたのプロジェクトに簡単に適用できるprint_color(text, foreground, background)
メソッドを定義しています。文字列をカラーで表示し、カラーを端末のデフォルトにリセットします。あなたがそれを望むなら、リセットをスキップするのに十分なはずです。
def rgb(red, green, blue)
16 + (red * 36) + (green * 6) + blue
end
def gray(g)
232 + g
end
def set_color(fg, bg)
print "\x1b[38;5;#{fg}m" if fg
print "\x1b[48;5;#{bg}m" if bg
end
def reset_color
print "\x1b[0m"
end
def print_color(txt, fg, bg)
set_color(fg, bg)
print txt
reset_color
end
# convenience method
def rgb_cube
for green in 0..5 do
for red in 0..5 do
for blue in 0..5 do
yield [red, green, blue]
end
print " "
end
puts
end
end
# rgb list on black bg
rgb_cube do |red, green, blue|
print_color("%d%d%d " % [red, green, blue], rgb(red, green, blue), nil)
end
puts
# rgb list on white bg
rgb_cube do |red, green, blue|
print_color("%d%d%d " % [red, green, blue], rgb(red, green, blue), 15)
end
puts
# system palette:
print "System colors:\n";
(0..7).each do |color|
print_color(" ", nil, color)
end
puts
(8..15).each do |color|
print_color(" ", nil, color)
end
puts
puts
# color cube
print "Color cube, 6x6x6:\n"
rgb_cube do |red, green, blue|
print_color(" ", nil, rgb(red, green, blue))
end
puts
# grayscale ramp
print "Grayscale ramp:\n"
for g in (0..23) do
print_color(" ", nil, gray(g))
end
puts
puts
-3
RubyforgeにTerm :: ANSIColorという名前の宝石があります。:)
どれくらいいいか分かりません。
1
以前の回答でちょっと遊んでいて、もう少し面白いと思ったことがありました。
LIB
def gray(g); 232 + g; end
def rgb(red, green, blue); 16 + (red * 36) + (green * 6) + blue; end
def green; rgb(0,5,0); end
def red; rgb(5,0,0); end
def c(fg, bg = nil); "#{fg ? "\x1b[38;5;#{fg}m" : ''}#{bg ? "\x1b[48;5;#{bg}m" : ''}" end
def ec; "\x1b[0m"; end
使用例
BASE_DIR = File.expand_path(File.join(File.dirname(__FILE__), '..'))
def status(sDaemon)
b = File.exist?(File.join(BASE_DIR, 'pids', "#{sDaemon}.pid"))
puts c(b ? green : red) + sDaemon + (b ? ' RUNNING' : ' STOPPED') + ec
end
%w{ backuper emailSpamChecker indexer log2email orderManager sitemapProducer }.each { |s| status s }
8
2
はここで256色をサポートするものだ -
ペイントは、端末の色を管理しますあなたのための効果。それは用語ansicolorや虹のような宝石の強みを使いやすく柔軟なcolorizerに組み合わせています。
関連する問題
- 1. ノーサポートカラー端末ライブラリのPython/Jupyter
- 2. OS Xの端末VIMで256色のパレットが変更されるのはなぜですか?
- 3. 端末の背景色と前景色
- 4. 端末内の端末
- 5. 端末スペースを操作するライブラリ?
- 6. 端末からJavaのペンの色を変更する
- 7. iTac2のEmacs 256色
- 8. Emacsの256色サポート
- 9. Mac端末でR端末コマンドを使用できますか?
- 10. vimの色を変えずに端末の色を変更しますか?
- 11. Rubyで端末の文字列をエスケープする方法は?
- 12. 端末からSpark scalaの外部ライブラリを追加
- 13. OS X端末の-lncursesにライブラリが見つかりません
- 14. iOS 256色(VGA)からRGB
- 15. 端末からRubyコードを実行する方法は?
- 16. Linux端末でのカーソル位置と端末サイズの取得
- 17. emacs端末の色のテーマを変更する
- 18. 入力中にLinux端末のキーワードの色を変更する
- 19. 端末のレールテストエラー
- 20. 端末のキーボードイベント
- 21. 、端末のpython
- 22. オープンXcodeプロジェクトと端末からのXcodeプロジェクトを開く、端末
- 23. RubyのRailsの上の端末の問題
- 24. Ruby端末アプリケーションでcbreakモードを使用するには?
- 25. git bash端末の背景色を設定するには
- 26. Linux端末で色を表示するApache Tomcat出力
- 27. ssh端末挿入端末プログラム名
- 28. Rails端末の処理がクラウド9 IDE(Ruby on Railsチュートリアル)のRubyコード
- 29. 端末をレトロなコンピュータでレンダリングするライブラリ/コードはどれですか?
- 30. Q:OS Xでの端末スクリプト
これは彼が彼の質問でリンクしたものです。 – sepp2k
上記の宝石が8色のANSIサポートを提供することを明確にする。私はより多くの色で、同じ種類のものを探しています。 – brianegge