Rubyプログラミングを始めるための基礎知識とインストール:若手エンジニア/初心者のためのRuby 2.1入門(1)(2/3 ページ)
オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。初回は、Rubyの概要や特長を紹介し、環境構築や「Hello World!」までの手順、プロンプトで対話的にRubyを使える「irb」の使い方なども解説します。
パッケージマネージャー「Homebrew」のインストール(OS Xのみ)
OS XをよりUNIXライクに使うためには、パッケージマネージャーが必要です。伝統的なものとしてMacPortsが挙げられますが、RubyプログラマーにはHomebrewが人気のようです。
ここでは、簡単にHomebrewのインストール手順を紹介します。もしインストールに失敗する場合は、HomebrewのWikiが参考になります。
Xcodeのインストール
Homebrewを使うためにOS X/iOSの開発環境「Xcode」に含まれるコマンドラインツールが必要になるので、Mac App StoreからXcodeをインストールします。
Xcodeのインストールが完了したら、以下のコマンドを実行して、コマンドラインツールをインストールします。
$ xcode-select --install
Homebrewのインストール
以下のコマンドを実行してHomebrewをインストールします。ここでは、OS Xに付属の古いバージョンのRubyを使っています。
$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
Homebrewの動作確認
以下のコマンドを実行すると、Homebrewが正常にインストールされているかをチェックできます。もし警告やエラーが出たら、メッセージの指示に従ってください。
$ brew doctor
RVMを使ってRuby 2.1.1をインストールする
Rubyをインストールする方法は幾つかあります。
- RVM(Ruby Version Manager)を利用する
- OSに付属のものを使う
- 自力でビルドする
ここでは、1のRVMを利用したインストール方法を紹介します。OS付属のものはバージョンが古いことがほとんどで、自力でビルドするのは大変ですので、2と3の方法はお勧めしません。
cURLをインストールする(Ubuntuのみ)
「cURL」はさまざまなプロトコルに対応した、データ転送のためのクライアントです。UbuntuにはcURLがデフォルトで含まれていないので、cURLをインストールします。
$ sudo apt-get install curl
RVMをインストールする
次に、以下のコマンドを実行してRVMをインストールします。インストールが終わったら、環境変数「PATH」を設定するために、ホームディレクトリにある「.bashrc」を「source」コマンドで読み直します。
$ \curl -sSL https://get.rvm.io | bash -s stable $ source ~/.bash_profile
RVMを使ってRuby 2.1.1をインストールする
以下のコマンドを実行すると、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本体のインストールは完了です!
Ruby 2.1で「Hello World!」
動作確認を兼ねて、プログラミング言語を学ぶ上で“儀式”ともいえる、「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!
1行目はshebang
「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であっても明示的に文字コードの指定をするようにしています。
Rubyはメソッドの引数を記述するときに括弧を省略できる
4行目の「puts」は、標準出力に文字列を出力し、改行するメソッドです。Rubyではメソッドの引数を記述するときに括弧を省略できます。したがって、以下のように書くこともできます。
puts("Hello World!")
Rubyは行末のセミコロンを省略できる
また、行末のセミコロンも省略できますが、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.