2010年07月13日

Debian(lenny)のRuby学習環境構築

最近オブジェクト思考のプログラミング言語をきちんと学ぶために、Rubyの勉強をしています。Rubyは少しC言語と異なる記述形式をもつ言語ですが、Javaよりも扱いやすく、オブジェクト思考プログラミングを学ぶのに適しているらしいので、なんとなく始めてみました。

ということで、今回はDebian(lenny)におけるRuby環境の構築について簡単にまとめておくことにします。


Rubyの学習環境という点で考えると、とりあえず以下のものをインストールすればよいと思います。


【Rubyインタプリタ】

Rubyインタプリタ及び関連パッケージは以下のようにインストールできます。


#apt-get install ruby ruby1.8-dev ruby1.8-examples rdoc1.8 ri1.8 irb1.8 libruby



Rubyのインタプリタだけをインストールすることはできますが、一応提案パッケージもインストールしておきます。
なお、irbは端末上でRubyのスクリプトを対話形式で実行するコマンドラインツールで、メソッドの動作確認したいときに便利です。riはRubyのリファレンスを読むときに用いるツールで、クラスやメソッドを参照したいときに用います。
また、librubyとruby1.8-devはRubyの学習環境としては必須ではありませんが、gemなどのRubyのアプリケーションを利用したり、特定のライブラリを使用したりするときにはこれが必要になるので、ここで一応インストールしておきます。


【refe】


irbは日本語に対応していないので、私のように英語に拒絶反応を起こす人にはなかなか使いにくいものです。
英語の勉強でもするつもりで無理して使うのも一興かと思いますが、それでは何かと不都合なことが多いので、日本語のヘルプメッセージを出力する「refe」というツールをインストールしたほうがよいかもしれません。
とはいえ、「refe」はaptではなく、Rubyのライブラリ管理ツール「rubygems」(コマンドはgem)によって管理されているので、まず以下のように「rubygemsからインストールする必要があります。



#apt-get install rubygems



(本格的にrubygemsを使うときには提案パッケージ(ruby1.8-dev,build-essential,rubygems-doc)のインストールも必要かも知れませんが、とりあえず本体のみをインストールします)


そして、インストールした「Rubygems」を使って「refe」をインストールします。


#gem install refe


(ちなみに「gem help」でgemコマンドの使い方を確認できます。)


なお、インストールされた「refe」は以下のように使用します。


$refe keyword



ただし、UTF-8の環境では、このまま使うと文字化けしてしまうので、ライブラリをエディタで開き修正する必要があるようです。


#vim /var/lib/gems/1.8/gems/refe-0.8.0.3/lib/refe/searcher.rb


このファイルの最初のところ(#!/usr/bin/rubyの下)に「require 'iconv'」を追加し、20行目付近の「else」ブロック内の「str」を「Iconv.iconv("UTF-8","EUC-JP",str)」に変更します。
これはstrで渡された文字をEUC-JPからUTF-8にエンコーディングするメソッドのようですが、いまいちソースコードを読みきれない私には詳しいことは分かりません^^;

とにかく、これで一応文字化けは解消されます。


【Ruby-tk環境の構築】


RubyでGUIアプリケーションを作ってみたいと思っていろいろ探してみたのですが、一番簡単に使えそうなGUIライブラリに「Ruby-tk」なるものがあることを知りました。
環境構築も以下のようにライブラリをインストールするだけなので簡単に使うことができます。


#apt-get install libtcltk-ruby



これで、Ruby-tk関連のライブラリがインストールされるので、これを「require 'tk'」でインクルード(インポート?)して利用します。




※ 本格的なRubyの開発環境を構築するにはエディタをカスタマイズしたり、必要なライブラリなどをさらにたくさんインストールしたりする必要があると思いますが、今回取り上げたものをインストールしておけば、とりあえずの学習環境は整っているといえると思います。
いつかは2chブラウザやTwitterクライアント的なものを作ってみたいと目論んでいるのですが、まだまだ遠そうなので、当分はこの環境でいいかなと思っています^^;
ラベル:ruby lenny Debian
posted by mechanical_doll at 01:34| Comment(0) | Debian | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。