Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方:若手エンジニア/初心者のためのRuby 2.1入門(2)(1/7 ページ)
オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyの変数、定数、リテラル、演算子、条件分岐とループ(繰り返し)、コメントの基本的な使い方について解説。Ruby 2.1での新機能や便利な実行ツール「Pry」のインストールと使い方も紹介します。
前回の連載第1回目記事「Rubyプログラミングを始めるための基礎知識とインストール」では、Rubyとはどのようなプログラミング言語なのかという説明から始まり、その特長と根底にある設計思想について触れ、開発環境のセットアップを行いました。
また、対話的にRubyを使うためのirbを用いて、プログラミングの学習ではおなじみの、「Hello World」を表示させて動作の確認を行いました。
今回はRubyの基礎文法として、変数とオブジェクト、定数、リテラル、式と演算子、制御構文について、主要なものを学習します。この記事を読み終わった時には、基本的なRubyのプログラムを書けるようになっているはずです。
デバッグに有用な機能をたくさん含むRuby実行ツール「pry」とは
前回は、インタラクティブにRubyを使うツールとして標準の「irb」を紹介しました。irbは十分に強力なツールですが、現場では「pry」がよく使われています。pryは、シンタックスハイライト、特定のオブジェクトやクラスのメソッドを簡単に確認できる、メソッドの定義元のコードを簡単に確認できるなど、デバッグに有用な機能をたくさん含んでいます。
pryはgem形式でパッケージ化されているので、Rubyがインストールされている環境なら簡単に導入できます。gemとは、Rubyで書かれたプログラムやバージョン情報などのメタ情報を1つのファイルにまとめたものです。
pryのインストール
gemパッケージをインストールする際には、ズバリ、gemコマンドを使います。以下のコマンドを実行してください。実行した後、少し時間がかかるので気長に待ってください。
$ gem install pry
たったこれだけでpryのインストールが完了します。gemについてもっと詳しく知りたい方は、Ruby公式ページのライブラリを読んでください。本連載でも、最後の総まとめとして簡単なgemの作成を予定しています。
pryの起動と終了
pryを起動するには、以下のコマンドを実行してください。
$ pry
以下のように、シェルのプロンプトがpryのプロンプトに変われば成功です。
[1] pry(main)>
また、pryを終了する場合は「quit」と入力して、[Enter]キーを押します。
[1] pry(main)> quit
Rubyの変数とオブジェクト
Rubyの世界では、全てのデータは「オブジェクト」という形で扱われます。つまり、オブジェクトに対して何らかの操作を行い、それによって得られる戻り値もまた、オブジェクトです。オブジェクトの特徴は「クラス」によって定義され、クラスそのものもオブジェクトです。これこそが、Rubyが「純粋なオブジェクト指向言語」と言われるゆえんです。
変数とは
変数には、オブジェクトを指し示す参照を格納します。データそのものはメモリ中のどこかにあって、変数はそのデータを指し示すラベルだと思えば分かりやすいでしょう。
C言語やC++言語で言うところの「ポインター」に近い概念です。ただし、実際のアドレス値ではないので、ポインターを直接操作するような低レベルな操作はできません。
オブジェクトを変数に代入する
他言語の経験があれば、変数への代入は直感的に行えることが分かると思います。オブジェクトを変数に代入する式の戻り値は、代入したオブジェクトそのものです。
[1] pry(main)> queen = 12 => 12
変数そのものを式として実行すると……
また、変数そのものを式として実行したときの返り値は、変数が指しているオブジェクトそのものです。
[2] pry(main)> queen => 12
変数はオブジェクトを指し示しているラベルである
変数とは、あくまでオブジェクトを指し示しているラベルであることに注意してください。以降の連載では、クラスやメソッドについて理解するときに、この考え方が重要になります。
また、オブジェクトに関連する「イミュータブル」と呼ばれる概念があります。ただし、今回の記事のテーマとはあまり関係ないので、次回以降の連載で掘り下げて説明します。
補足「Rubyにおける変数の命名規則とキャメルケース/スネークケース
プログラミング言語やプロジェクトによって、変数の命名規則には幅があります。例えば、C#やJavaなら、「キャメルケース」、つまり「queenOfHearts」のような、単語の区切りを大文字で表す(2つ目の単語以降)書き方が好まれます。
Rubyでは、多くのプログラマーはスネークケース、つまり「queen_of_hearts」のような、単語の区切りを_で表す書き方を好みます。ですので、事実上標準となっている「スネークケース」を使うことをお勧めします。
Copyright © ITmedia, Inc. All Rights Reserved.