タグ

ブックマーク / melborne.github.io (5)

  • RubyでANSIカラーシーケンスを学ぼう!

    CUIの世界は地味な世界です。真っ黒なターミナル画面に単一色の文字列。それが却って落ち着くという向きもありますが、今となってはその地味さは際立っています。 ターミナルで色を使う方法を学ぶことで、新しい世界が開けるかも知れません。 ようこそANSIカラーの世界へ! エスケープシーケンス ターミナルで色を使うためにはエスケープシーケンスというものを利用します。エスケープシーケンスはターミナル上で色を含む特定の制御を実現するための特殊な文字列です。 これによりターミナル上に赤文字で「hello」と出力されます。この”\e[31m” “\e[0m”の部分がエスケープシーケンスです。”\e[31m”はそれ以降を赤文字で出力する制御命令、”\e[0m”はそれ以降を初期状態へリセットする制御命令です。 シーケンス中の数字において、30~37は文字色、40~47は背景色、0~9は文字装飾に割り振られていま

    takaesu
    takaesu 2014/10/24
    ターミナル、シェルのカラー
  • Yet Another Terminal Color for Ruby: Colcolorの紹介

    巷にはターミナル文字のカラー化を楽にするライブラリが溢れています。僕も以前にその幾つかを紹介した記事を書きました。 RubyでANSIカラーシーケンスを学ぼう! にも拘わらずみんな、人の作ったライブラリが自分のテイストに合わないのか、自分用に、しかし他と似たようなものをまた作って、このリストを更に長くしていくという傾向があるようです。RubyGems.orgでcolorを検索してみてください。僕が言っていることが冗談ではないということが分かるでしょう。 これだけ大量のカラー化ライブラリがあるとどれを選ぶべきか皆目わからず、人気どころを2、3試してみてそれらが合わなかったら、他を探すより自分で作ったほうが早い、となるのも頷けます。 え〜、それで、ちょっと言いづらいのですが…。 ご多分に漏れず…。 「Colcolor」というgemを作りましたよ!> まじか。 colcolor melborne

    Yet Another Terminal Color for Ruby: Colcolorの紹介
  • Rubyのyieldは羊の皮を被ったevalだ!

    Yugui著「初めてのRuby」の9章に、Rubyの黒魔術の一つとしてeval族と称されるメソッド群が紹介されている。 初めてのRuby 危険らしい。素人が安易に手を出すべきではなさそうだ。でも魅力的らしい。 暗黒の世界に引かれていく自分がいる… 勉学のために覗くだけならいいだろうし、危険であればその正しい理解がより重要になるだろう。自分が学んで理解したことをここに整理してみよう。 eval族と呼ばれるものには、instance_evalメソッド、class_evalメソッド(またはmodule_eval)、および組み込み関数evalがある。 instance_eval Ruby空間における操作対象はオブジェクトである。オブジェクトは外からのメッセージを受け取ると、その中の対応するメソッドを起動して、そこに書かれている手続きを実行する。 メソッドは他のオブジェクトを引数として取ることができ

  • 知って得する!55のRubyのトリビアな記法

    Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt

  • これからRubyを始める人たちへ

    (追記:2012-12-03) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する

  • 1