PHPプログラマのためのRubyチュートリアルというネタで、書いていこうと思います。
記事の目的は社内のRubyに詳しくないが、PHPはバリバリな人たちをRubyに引き込むことです。
インストール
主にWindows, Mac OS X, Linuxの3つの環境について。
とりあえず安定版の1.8.6を入れる想定で書いています。
-
Windows
お手軽なのはRuby One-Click Installer for Windowsです。
rubygemsや、主要な便利ライブラリなどもまとめて入れてくれる便利パッケージです。
ただ、1.8.7がリリースされてしばらく経つのに追従していないため、今後メンテナンスされるかどうか心配です。
公式のmswin32のパッケージを使ってインストールする場合、
ダウンロードしてきて、C:\ruby\などに配置して環境変数を通すだけです。簡単ですね。 -
Mac OS X
実はMac OS Xには標準でrubyがインストールされています。ターミナルを開いてruby -vなどと打ってみるとバージョンがわかります。 -
Linux
現在Linuxで大きなシェアを占めていると思われるFedora CoreやCentOSなどでは$ sudo yum install ruby
として、パッケージマネージャyumを使って簡単にインストールすることができます。
Debian GNU Linuxや、Ubuntu Linuxなどdpkg(apt-get, aptitude)を使うディストリビューションでも、
同様に以下のようにしてインストールできます。$ sudo aptitude install ruby または $ sudo apt-get install ruby
各環境のコマンドラインでruby -vとすると以下のようにインストールされたrubyのバージョンを確認できます。
tomotaka@mist:~$ ruby -v ruby 1.8.6 (2007-06-07 patchlevel 36) [x86_64-linux]
コンパイルされたアーキテクチャなんかもわかりますね。
FreeBSDなんかの環境は、僕はあまり使ったことがないのでよくわかりませんが、
portsなどを使って簡単に入れられたりするのでしょうか?
ソースからインストールするのも簡単だと思います。
rubyインタプリタにプログラムを実行させるには単純にruby [ファイル名]とすればOKです。
HelloWorldプログラムを作って動かしてみた例↓
tomotaka@mist:~$ cat test.rb puts "Hello, world!" tomotaka@mist:~$ ruby test.rb Hello, world!
shellのシェバング行と実行権限を使えばファイル自体をコマンドとして叩くスタイルで起動することもできます。
tomotaka@mist:~$ which ruby /usr/bin/ruby tomotaka@mist:~$ cat test2.rb #!/usr/bin/ruby puts "Hello, world!!" tomotaka@mist:~$ chmod +x ./test2.rb tomotaka@mist:~$ ./test2.rb Hello, world!!
irb(Interactive Ruby)
irbは対話的なrubyコードの実行環境です。
1行ずつ、命令を実行していくことができます。
rubyではclassやmodule, メソッド(関数)の定義も実行文なので、クラス定義やモジュール定義の細かい挙動のチェックなどもお手軽に使えます。
linuxのパッケージマネージャではrubyパッケージとruby-irbなどとして分離されている可能性があるので、
ぜひirbのパッケージを探してインストールしてあげてください。
irbの実行イメージ↓
tomotaka@mist:~$ irb irb(main):001:0> a = 10 => 10 irb(main):002:0> b = 20 => 20 irb(main):003:0> a * 3 + b * 5 => 130 irb(main):004:0> def echo3(str) irb(main):005:1> 3.times do irb(main):006:2* puts str irb(main):007:2> end irb(main):008:1> end => nil irb(main):009:0> echo3("learning ruby!") learning ruby! learning ruby! learning ruby! => 3
irbについて詳しくはirbのマニュアルを参照してみてください。
次回は基礎的な文法(if, while, メソッド定義, クラス定義)を説明したいと思います。