コンピュータリテラシー演習のページへ
Rubyによるはじめてのプログラミング

はじめに

Rubyは、スクリプト言語と呼ばれる、手軽にプログラムを作ることができるプログラミング言語です。 また、手軽さを持っていながら本格的なオブジェクト指向言語であり、 プログラミングの初歩から本格的なプログラミングまで幅広く使える柔軟な言語です。 このためプログラミング教育にも適しています。

ここでは、はじめてプログラミングを行なう方を想定して、Rubyを使った 初歩のプログラミングについて解説します。また、所々で他の言語に触れ、 プログラミング全般の事柄も紹介します。

注意: この文書の主旨は、Rubyの説明ではありません。この文書は、初歩のプログラミングの解説であり、その解説のために使う言語がRubyである、ということです。 したがって、Rubyの言語仕様のごく一部しか紹介していません。 Rubyには、この解説に書かれていない便利な機能、強力な機能がたくさんあります。 Rubyについてさらに勉強したい方は、Rubyの参考文献に 挙げられている文献などを読むことをお勧めします。
.
注意: この解説の中では、一部に正確ではない説明が出てきます。 プログラミングの解説では、完璧な説明を追及すると、あることを説明するのに、別の説明がたくさん必要、ということが多々あります。 結果として、長く分かりにくい説明になりがちです。 そのようなことを配慮して、厳密さを捨てて、分かりやすさを優先しています。 ただし、正確ではない部分については、できるだけ断り書きを入れています。

Rubyを使ってみる

まずは、Rubyで簡単なプログラムを動かしてみましょう。 電算センターのLinuxとWindowsにはRubyがインストールされています。

ここでは、以下のプログラムを動かしてみます。 このプログラムが何をしているかは後で説明します。

print "Welcome to Ruby\n"
[注意!] \nの部分はLinuxの場合\n(バックスラッシュn)、 Windowsの場合¥n(円n)と表示されます。

プログラムは普通、ファイルとして作ります。Rubyの場合は、.rbという 拡張子を付けるのが普通です。これをRubyのプログラムファイル あるいはソースファイルといいます。

ここでは、例えば、上のプログラムを welcome.rb というファイル名で作ってみましょう。 電算センターのLinuxでは emacs を使って作ると良いでしょう。

welcome.rb というファイルを作ったら、Ktermなどで以下のコマンドを入力してプログラムを動かしてみましょう。

% ruby welcome.rb

[注意!] % はシェルのプロンプトを意味します。 あなたが打込むものではなく、コマンドを打つときにすでに表示されているものです。
なお、Windowsの場合は、シェルに相当するものをコマンドプロンプトと呼びます。また一般的にはコマンドラインと呼ぶこともあります。

画面に Welcome to Rubyと表示されれば成功です。

RubyはLinuxなどのUNIX OSだけでなく、Windowsなどでも使用できます。 Rubyをインストールする場合は、 Rubyのページにあるインストールガイドを御覧ください。


以降の説明では、 Rubyのプログラムのファイル名Rubyのプログラムの内容プログラムの実行結果(表示)シェル(コマンドライン)に打つ内容 と色分けして書いています。


Rubyの色々な使い方

以上では、一番典型的なRubyの使い方を説明しましたが、 ここではその他の手軽な方法を紹介します。

ワンライナー

ワンライナー(一行だけのプログラム)なら、 Rubyのソースファイルを作らずに実行できます。 例えば、print "Hello!\n" というRubyのプログラムを実行したければ、

% ruby -e 'print "Hello!\n"'

とシェル(コマンドライン)で打ち込めばOKです。プログラムが ' で囲まれていることに注意してください。

Rubyのプログラムをコマンドにする

最初の例では、Rubyのプログラムを実行するときに、ruby ファイル名 という形式で実行していましたが、 これを単にファイル名を打ち込むだけで実行することが可能です。 例えば、上記のwelcome.rb に以下のように先頭に1行加えます。

welcome.rb - コマンドの例
#!/usr/bin/env ruby
print "Welcome to Ruby!\n"

さらに、welcome.rbのファイルパーミッションに実行許可を加えます。Ktermで以下のようにchmodコマンドを使用します。

% chmod +x welcome.rb

これで、Kterm上で単に./welcome.rbと打ち込めば、プログラムが実行されます。

% ./welcome.rb
Welcome to Ruby!
%
※ 電算の端末の場合は、welcome.rbでも実行可能です。 しかし、これはパスを指定しなくても、カレントディレクトリにあるコマンドを実行できるようにしてあるからで、これは一般的ではありません。 カレントディレクトリにあるコマンドを実行する場合には、./ を付けるクセをつけたほうが良いでしょう。

対話形式で使う

Rubyは通常、プログラムをファイルとして用意しますが、 これを一行ずつ打ち込んで、その結果をその都度表示する 「対話形式」の使い方があります。ちょうど人と人が話をしている様子に 似ているので対話型(interactive)と呼ばれます。

対話形式でRubyを使うには、シェル(コマンドライン)から

% irb

と打ち込みます。 あとは、irb(main):001:0<という風なプロンプト が出ますので、そこでRubyのプログラムを一行打ち込んで改行すれば、その一行を 実行して結果がでます。例えばここでは、print "Hello!\n"と打ち込んでみます。

irb(main):001:0< print "Hello!\n"
Hello!
nil
irb(main):002:0<

Hello!と表示された行がprint文が表示したところで、 nilと表示された行は、入力したプログラムが返した値です。今はまだ使いませんのでnilの部分は無視してください。

[注意!] print文で改行(\n)を入れないと nilとつながってしまうので注意してください。 例えば Hello!nilと表示されてしまいます。

その後、また一行プログラムを打ち込めば同じように実行され、結果が出ます。 対話形式のRubyを終了したい場合は、exitと打ち込めば 終了します。

対話形式のRubyは、一行一行実行してプログラムの細かい動作を確認してみたい時や、 ワンライナーを次々と打ち込んで、動作を見たい場合に便利です。


東京情報大学情報システム学科
大見 嘉弘(Yoshihiro OHMI)
<ohmi@rsch.tuis.ac.jp>