Ruby

Rubyの文法や標準ライブラリに付いてはWeb上に沢山の解説がありますので詳細は検索して確認してください。

Rubyのインストール

Rubyには2012年1月時点で 1.8.7系、1.9.2系、1.9.3系とバージョンの異なるものが 3系統あります。 完全な上位互換ではなく、それぞれ微妙に違いが有ります。

1.8.7系統は公式に「今後の利用を勧めない」とのアナウンスが出ていますので、 これから使い始める人は特別な理由が無ければ、1.9.3系統を利用されるのが良いかと思います。

Windows版のRubyのインストールはRubyInstallerからダウンロードして インストールするのが楽なようです。同時にこのサイトに置いてあるDevelopment Kit(DevKIt-tdm...exe)も ダウンロードしてインストールして置きましょう。これを入れて置くとgemのインストールでmake出来ないという エラーに悩まされる事が少なくなります。 GUIを使う予定があるならインストール時にTcl/Tkも入れて置きましょう。

Linux等の場合、ディストリビューション標準のパッケージシステムを利用してインストールするのが 問題が少ないと思います。版が古い等、問題がある場合には自分でソースを持ってきてインストール して下さい。

RubyGemsとは Rubyの機能を拡張するパッケージの管理システムです。管理用のコマンド名がgemです。 また組み込まれるパッケージもgemと呼ばれます。

Rubyの gemの基本的な使い方

ここの 英文マニュアル が原本のようです。

日本語版だと WebOS Goodies に簡潔にまとまっているようです。

Rubyに 現在、インストールされているgemを知りたい

gem list

Rubyに 新たなgemをインストールしたい

gem install gem_name   ← gem_nameは入れたいgemの名前

Rubyから指定したgemをアンインストールしたい

gem uninstall gem_name   ← gem_nameは消したいgemの名前

Ruby: gemを最新にしたい

gem update gem_name   ← gem_nameは更新したいgem名

gem名を指定しなければインストールされている全gemが更新されます。 gemのupdateは場合によっては古いスクリプトが動かなくなる事があります。 その場合にはスクリプト側で使うgemのバージョンを指定するか、 新しく入ったバージョンのgemをバージョン指定して削除して下さい。

Ruby gem をproxy経由で利用したい

gem install gem_name -p http://proxy_url:port

例
gem install gem_name -p 192.168.0.1
gem install gem_name -p 192.168.0.1:8080

proxyのURLを-pで指定する。 :portの部分はポート番号なのでデフォルトの80なら指定しなくても良いです。

Ruby: 公開されているgemを探したい

gem list string -r    ← string部分は探したい文字列

-r オプションでネット上にあるgemでstringを含むものをリストアップします。 proxy経由の場合は上記の -p も同時に指定してください。

複数の版のRubyを切り替えて使いたい場合( rvm, pik )

Windows環境ならpikを、 Unix系の環境ならrvmを 使うと異なる版のRubyを切替ながら使う事が出来ます。

pikやrvmを使用して複数の版のRubyを利用できますが、 個人的にRubyをツールとして利用するだけなら必要は無いでしょう。

pikもrvmもgemとしてインストールすることが出来ます。

インストール方法

 gem install pik        ← Windows
 
 gem install rvm        ← Linux, Mac OS

複数のRubyを使ってる場合には今選択されているRubyの版を確認しましょう。

バージョン確認コマンド

 ruby -v

Internet等で配布するスクリプトを書く場合には、まだ異なる版での動作確認もした方が良いでしょう。 しかし、公式に1.8.7が非推奨と成ったので1.9系限定としても諦めてもらえるでしょう。 同じスクリプトを1.8系と1.9系で変更無しで動かす事に拘らない方が幸せだと思います。

この解説シリーズでは基本的には1.9.2を使って動作を確認することにします。 ただし、私はこれまで1.8.7を使い続けてきたので1.9系にまだ馴染んでいません。 時々、古い常識を書いてしまう事が有ると思いますので、その時はご指導下さい。