まつもとゆきひろ氏が開発したプログラミング言語Rubyは,いまやソフトウエア開発の世界ではワールドワイドな存在です。デスクトップ・アプリケーションからWebアプリケーションまでその用途は幅広く,今後も様々な分野で利用されていくことは間違いありません。この記事では,Rubyプログラミングの初歩の初歩を,制御構造からオブジェクト指向プログラミングの導入部まで簡潔に解説します。

 Rubyは,オブジェクト指向のスクリプト言語です。しかも,とても強力です。筆者は,Rubyを知る前はPerlとJavaを使っていました。Perlは優れたスクリプト言語ですし,Javaも優れたオブジェクト指向言語です。しかしRubyは,Perlよりも美しい言語で,Javaよりも使いやすいオブジェクト指向言語だったのです! 今ではRuby=Perl+Javaだと思っています。

 RubyにはPerlをお手本とした強力な文字列操作や正規表現による検索の機能がありますし,Javaよりもシンプルにオブジェクト指向のありがたみを享受できます。しかも文法が簡単で,例外処理と自動的なメモリー管理機能を備え,プログラマが無駄に悩んだりすることが少ないように設計されています。学習や理解が容易です。

 Rubyは,既存のいろいろな言語のよい点を取り入れて設計されています。その結果,これまでの言語がなし得なかった,統一感と実用性を兼ね備えた言語になりました。どんな言語を知っているにしろ,あなたがプログラマならRubyを使えば使うほど目からウロコがぼろぼろ落ちることでしょう。

 ここでは,スクリプト言語にあまりなじみがない方を対象に,Rubyのいいところ,特徴的な部分を重点的に紹介していきます。もしRubyを気に入りそうだったら,ぜひ手に入れて動かしてみてください。Rubyの動作環境はWindows,Linux,各種UNIXなどです。いずれも,http://www.ruby-lang.org/ja/から無償でダウンロードできます。Rubyに限らず,多くの言語をマスターすれば,言語を客観的にとらえることができるようになります。

Rubyの概要

 Rubyという言語そのものを解説する前に,Rubyの概要に簡単に触れておきます。Rubyはオブジェクト指向のスクリプト言語です。「ルビー」と発音します。Rubyはインタプリタとして動作します。実行する前にソースコードをコンパイルする必要はありません。Rubyは,Perlのようなテキスト処理やシステム管理のための豊富な機能を持っています。また,Rubyは単純で,わかりやすく,簡単に拡張できます。もし,簡単なオブジェクト指向言語を求めていたり,Perlは見にくいと感じていたり,Lispの考え方は好きだがあのカッコの多さには困ると感じているなら,Rubyはまさにぴったりです。

 Rubyの開発環境は普通テキスト・エディタです。筆者は普段,秀丸を使っています。Rubyの作者は日本人のまつもとひろゆきさんです。おかげで日本語のドキュメントが充実していますし,メーリングリストでは,作者と日本語で言語の仕様を議論したり,改善案を提案したりできます。

Rubyはすべてがオブジェクト

 Rubyがどんなものかを知りたければ,なにはともあれ簡単で短いソースコードを見てもらうのがよいでしょう。リスト1は,名前を聞いて,それを答えるプログラムです。あなたのパソコンにRubyがインストールされていれば,「test1.rb」という名前で保存してください。Rubyのソースファイルは,「.rb」という拡張子をつけるのが一般的です。

  ruby test1.rb

とすると実行できます(図1)。

リスト1●名前を聞いて,それを答えるRubyのコード
リスト1●名前を聞いて,それを答えるRubyのコード
図1●リスト1の実行結果
図1●リスト1の実行結果

 コードを解説しておきましょう。(1)のprintは,指定した文字列を標準出力に出力する関数です。文の終わりに「;(セミコロン)」を付ける必要はありません(付けてもよいです)。改行が文の終わりを意味します。(2)では,ユーザーがキーボードから入力した文字列を,変数「name」に格納します。変数はPerlと同様に,宣言なしでいきなり使えます。Rubyの変数はどのような型のデータでも格納することができるので,変数の型について心配する必要はありません。その半面,実行する前のチェックは弱くなっています。