Tech Racho エンジニアの「?」を「!」に。
  • ライフ

PHPプログラマのためのRubyチュートリアル #1 環境構築

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, メソッド定義, クラス定義)を説明したいと思います。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。