OS XをよりUNIXライクに使うためには、パッケージマネージャーが必要です。伝統的なものとしてMacPortsが挙げられますが、RubyプログラマーにはHomebrewが人気のようです。
ここでは、簡単にHomebrewのインストール手順を紹介します。もしインストールに失敗する場合は、HomebrewのWikiが参考になります。
Homebrewを使うためにOS X/iOSの開発環境「Xcode」に含まれるコマンドラインツールが必要になるので、Mac App StoreからXcodeをインストールします。
Xcodeのインストールが完了したら、以下のコマンドを実行して、コマンドラインツールをインストールします。
$ xcode-select --install
以下のコマンドを実行してHomebrewをインストールします。ここでは、OS Xに付属の古いバージョンのRubyを使っています。
$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
以下のコマンドを実行すると、Homebrewが正常にインストールされているかをチェックできます。もし警告やエラーが出たら、メッセージの指示に従ってください。
$ brew doctor
Rubyをインストールする方法は幾つかあります。
ここでは、1のRVMを利用したインストール方法を紹介します。OS付属のものはバージョンが古いことがほとんどで、自力でビルドするのは大変ですので、2と3の方法はお勧めしません。
「cURL」はさまざまなプロトコルに対応した、データ転送のためのクライアントです。UbuntuにはcURLがデフォルトで含まれていないので、cURLをインストールします。
$ sudo apt-get install curl
次に、以下のコマンドを実行してRVMをインストールします。インストールが終わったら、環境変数「PATH」を設定するために、ホームディレクトリにある「.bashrc」を「source」コマンドで読み直します。
$ \curl -sSL https://get.rvm.io | bash -s stable $ source ~/.bash_profile
以下のコマンドを実行すると、RVMでインストールできるRubyの一覧を見ることができます。
$ rvm list known
リファレンス実装のRuby 2.1.1をインストールして、それをデフォルトにするには、以下のコマンドを実行します。依存パッケージも自動的にインストールされます。
$ rvm install ruby-2.1.1 --default $ source ~/.bash_profile
「which」コマンドでインストールされたRubyを確認しましょう。ホームディレクトリ以下にインストールされていることが分かります。
$ which ruby
RVMを使うと、複数のバージョンのRubyをインストールしてそれらを簡単に切り替えることができます。詳しくは公式ページなどの情報源をチェックしてみてください。
以上で、Ruby本体のインストールは完了です!
動作確認を兼ねて、プログラミング言語を学ぶ上で“儀式”ともいえる、「Hello World」という文字列を表示するだけのプログラムを作成・実行してみましょう。
お好みのエディターを使って以下のように入力し、「hello_world.rb」というファイル名で保存してください。
#!/usr/bin/env ruby # encoding: utf-8 puts "Hello World!"
実行するには、「hello_world.rb」を保存したディレクトリに移動し、以下のコマンドを実行してください。
$ ruby hello_world.rb
ターミナルに、以下のように「Hello World!」という文字列が表示されたら成功です!
Hello World!
「hello_world.rb」の1行目は「shebang」(UNIXスクリプトの1行目コメント)ですので、不要であれば省略できます。shebangを付与し、スクリプトファイルに実行権限を与えておくことで以下のように実行できるので、よく使うスクリプトにはshebangを入れておくと便利です。
$ ./hello_world.rb
2行目は「マジックコメント」と呼ばれ、スクリプト自体の文字コードを指定するものです。マジックコメントは1行目に書くのが基本ですが、shebangを入れる場合は2行目に書きます。ここでは文字コードをUTF-8に設定しています。
マジックコメントとして、以下のような形式のものも認識します。1つ目の書き方は、Emacsの文字コード指定のスタイルに由来しています。
# -*- coding: utf-8 -*- # coding: utf-8
Ruby 1.9ではUS-ASCIIがデフォルトのスクリプトエンコーディングでしたが、Ruby 2.0からUTF-8に変更されました。そのため、「hello_world.rb」の2行目のマジックコメントは本来不要です。
しかしながら、現在でも広く使われている1.9向けのスクリプトにはマジックコメントが書かれていることが多いですし、明示的に指定しておくことで可搬性を上げることができます。そのような理由から、筆者はUTF-8であっても明示的に文字コードの指定をするようにしています。
4行目の「puts」は、標準出力に文字列を出力し、改行するメソッドです。Rubyではメソッドの引数を記述するときに括弧を省略できます。したがって、以下のように書くこともできます。
puts("Hello World!")
また、行末のセミコロンも省略できますが、1行に複数の文を記述する場合、以下のように明示的にセミコロンを書く必要があります。
puts("Alice"); puts("in"); puts("Wonderland")
一般に、基本的にセミコロンを書かない方が「Rubyらしいコードである」といわれます。多くのRubyプログラマーはセミコロンを書きません。
括弧の省略については、これといったコンセンサスや基準はないようです。ただし、以下の基準に合致する場合、括弧を省略することが多いようです。省略の基準は、職場やプロジェクトの慣例に従うのが無難でしょう。
例)文字列オブジェクト(str)の先頭と末尾の空白文字を取り除いたものを返すstripメソッド
「str.strip()」と書かずに、「str.strip」と書きます。
「puts」は一見するとRubyのキーワードのように思えますが、実は「Kernel」モジュール(モジュールについては連載中で詳説します)で定義されている立派なメソッドです。このような場合も、多くのRubyプログラマーは括弧を省略します。
Copyright © ITmedia, Inc. All Rights Reserved.