【初心者必見】Ruby プログラム実行方法について解説
Rubyを起動するというのは、実際にはRubyを実行できるコマンドプロンプト(Macであればターミナル)を起動することから始まります。
あいにく、Rubyの実行環境はあくまでも環境ですので、プログラムがなければなにもしません。ただ、命令の入力を待っているだけです。
ただし、その状態にできなければ、Rubyのプログラムを実行できませんので、その手順を詳しく説明しましょう。
(※基本的にWindowsでの操作を想定しています。Macの方は適宜読み替えてください)
最初の準備
コマンドプロンプト(Macの場合はターミナル)を起動しましょう。
起動の仕方は、何種類かありますが、今回はスタートメニューから起動してみます。
「スタートメニュー」-「Windowsシステムツール」と進むと、そこに「コマンドプロンプト」というメニューがありますので、そのメニューをクリックしてください。
すると、以下のようなコマンドプロンプトが表示されます。(白い四角部分には、ユーザー名が入ります)
念のため、この画面で以下のコマンドを入力して、Rubyがきちんと動いてくれるかを確認しておきましょう。
[bash]ruby -v
[/bash]
インストールしたRubyのバージョン情報が表示されれば、問題なく動いているということです。
RubyInstallerでインストールした人
Rubyの実行環境は、他のアプリケーションと同様の方法でインストールをしました。(他の一般的なアプリケーションよりも時間はかかったと思いますが)
そのため、Windowsであればスタートメニューから起動するのが自然だと思います。
Windows10にRubyを(RubyInstallerで)インストールした人であれば、スタートメニューにそのアイコンがあります。
それは、スタートメニューのRのブロックにある「Ruby2.5.1.1-1-x64 with MSYS2」です。(2.5.1.1-1はRubyのバージョンによって数値が変わります。また、x64は64bit環境のWindowsの場合で、32bit環境のWindowsの場合はx86となっています)
その下にある「Start Command Prompt with Ruby」をクリックすれば良いです。
※インストールしたばかりであれば、「最近追加されたもの」として、スタートメニューの先頭あたりにあるかもしれません。
このメニューを選択することで、以下のようにRubyが実行できる状態にできます。(白い四角には、ユーザー名が入ります)
念のため、こちらでも、Rubyのバージョン情報を表示してみましょう。
[bash]ruby -v
[/bash]
画面の1行目に書かれたものと同じバージョン情報が表示されれば、問題なく動いているということです。
これにて、Rubyを実行する準備は整いました。
</pre><h2>作ったプログラムを動かしてみよう</h2><pre>
では、準備ができましたので、実際にRubyのプログラムを動かしていきましょう。 まず、次のようなプログラムを作って「test001.rb」というファイル名で保存しましょう。 print(“ruby test OK!”) (test001.rb)
そして、保存している場所は、「C:\Ruby」とします。
Rubyプログラムの動かし方の基本
いきなりの実践ですが、動かすための文法は、以下です。
[bash]ruby(半角スペース)Rubyプログラムのファイル名.rb
[/bash]
具体的に、「test001.rb」というファイル名のRubyプログラムを動かすには、以下のように入力してEnterを押すことになります。
[bash]ruby test001.rb
[/bash]
「ruby」と記入して、「これからRubyの環境を動かしますよ」と連絡し、実際にその環境の上で動かすプログラムを続けて伝えるといったイメージですね。
良くある間違い
では、早速、保存してある「test001.rb」を動かしてみましょう。
[bash]ruby test001.rb
[/bash]
と入力してEnterです。
その結果は、次のようになると思います。
残念ながら、これは正しい結果ではありません。
[bash]Traceback (most recent call last):
ruby: No such file or directory — test001.rb (LoadError)
[/bash]
画面に表示されている最後の下線の引いてある部分にあるように、エラーが発生してプログラムが動かなかったということを表しています。
具体的にいえば、「test001.rbという名前のファイルかディレクトリ(フォルダ)が見つからない」というエラーメッセージです。
これは、どういうことでしょうか?
エクスプローラーを起動して確認すれば、「test001.rb」はきちんと保存されていることが分かると思います。しかし、何度やっても同じエラー表示がされるだけです。
この問題は、プログラムを学習し始めたばかりの人が少なからず陥る問題です。なぜなら、多くの人がコンピュータを過大評価しているからです。
プログラムを学んでいけば分かることですが、プログラムを学習する上で、肝に銘じておかなければいけないことが、ひとつあります。
それは「コンピュータは教えたことしか知らないし、命じたことしかしない」ということです。
この点を理解すれば、いま起こっている問題の原因が分かるでしょう。
作ったプログラムはどこにあるのか?
勘のいい人ならすでに気がついているかもしれませんが、前述の問題の原因は、「コンピュータはtest001.rbがどこにあるのか分からない」ということです。
つまり、「コンピュータにtest001.rbがどこにあるのかを教えなければいけない」ということなのです。
コンピュータに作ったプログラムの格納場所を教える
私たち人間は、「なければ探す」「探して分からなければ聞く」ということを当然のように行います。
しかし、コンピュータは教えたことしか知らないし、命じたことしかしません。
そのため、探したり聞いたりなどまったくせず、ただ「見つからないので無理です」とエラーメッセージを表示して終わってしまうわけです。
そこで、コンピュータに作ったプログラムの格納場所を教えてあげる必要があるのです。
以下のように、格納場所のフォルダを含めて記入してみましょう。
[bash]ruby C:\Ruby\test001.rb
[/bash]
すると、以下のような文字列と数字が表示されます。これが、test001.rbの正しい実行結果です。(赤線が入力したところです)
結果として、プログラムに記載している「ruby test OK!」という文字列が表示されています。
この格納先のフォルダまで含めてファイル名を記載したものを「フルパス表記」と一般的に呼びます。
「フルパス表記」でファイルを指定することで、コンピュータはファイルを見つけることができますので、Rubyの実行環境はそのファイルを実行することができるわけです。
便利な設定
ここまでで、Rubyのプログラムの実行方法の基本はすべて説明しました。
わざと間違えたので、手間に感じたかもしれませんが、実際のところは、コマンドプロンプトを起動して、「ruby プログラムのフルパス」と記載するだけですので、大した手間ではありません。
しかし、「フルパス表記」というのが、実際には面倒なものです。
できれば、「ruby ファイル名」で実行できれば楽ですし間違いもありません。
じつは、そんな楽をする方法がありますので、説明しておきましょう。
作業フォルダのファイルを実行する
まず、なぜフルパス表記でなければ、ファイルを見つけられないかを解説します。
コマンドプロンプトの入力待ちの行は、以下のように表示されていると思います。(ユーザー名のところは、各自のユーザー名と読み替えてください)
[bash]C:\Users\ユーザー名 &amp;gt;
[/bash]
この「C:\Users\ユーザー名」というのは、コマンドプロンプトの作業フォルダ(作業ディレクトリ)と呼ばれているものです。
コマンドプロンプト上で実行するファイルは、基本的にこの作業フォルダにあるものとして処理されます。(コマンドプロンプトは、作業フォルダにあるファイルを処理するのです)
つまり、「ruby test001.rb」と入力して実行しようとしたときに、コンピュータは「C:\Users\ユーザー名」の中にtest001.rbがあるものとして実行しようとするのです。
もちろん、「test001.rb」は「C:\Users\ユーザー名」の中ではなく、「C:\Ruby」にありますので、見つけられるわけがありません。
そのため、ファイルの場所を含めたフルパス表記にすることで、コンピュータがファイルを見つけることができるようになったのです。
作業フォルダを変える
つまり、この作業フォルダを「C:\Users\ユーザー名」から「C:\Ruby」にしてしまえば、「ruby test001.rb」だけで実行することができるようにるわけです。
その方法を2種類紹介しましょう。
1.コマンドプロンプト起動後に作業フォルダを変更する
じつは、コマンドプロンプトを起動した後、いつでも作業フォルダを変更することができます。
それが、「cd(change directory)」コマンドです。
具体的には、いま開いているコマンドプロンプトで、以下のように入力すれば、作業フォルダを「C:\Ruby」に変更できます。
cd C:\Ruby
[/bash]
入力待ちしている最終行の作業フォルダが「C:\Ruby」に変更されていることが分かると思います。
※もちろん、この方法で、作業フォルダを任意の場所に変更することが可能です。
※「Start Command Prompt with Ruby」でも同じことが可能です。
2.コマンドプロンプトの設定を変更する
cdコマンドで作業フォルダを変更するのは、手っ取り早いのでおすすめです。しかし、コマンドプロンプトを起動するたびに行わなければいけませんので、常に同じ作業フォルダにしたい場合は面倒です。
そんな場合は、Ruby学習用のコマンドプロンプトを作って、その設定を変更しておけば、毎回cdコマンドを使う必要がなくなります。
その方法を説明しましょう。
「スタートメニュー」-「Windowsシステムツール」と進むと、そこに「コマンドプロンプト」というメニューがありますので、そのメニューを右クリックします。
そして、「その他」-「ファイルの場所を開く」と表示してクリックします。
表示されている「コマンドプロンプト」をコピーして、デスクトップへ貼り付けましょう。
貼り付けたコマンドプロンプトを右クリックして、メニューの一番下にあるプロパティを選択してください。そこで表示されるプロパティ画面にある「作業フォルダ」を「C:\Ruby」に変更して、OKを押せば完了です。
次回からは、このコマンドプロンプトを起動すれば、最初から作業フォルダが「C:\Ruby」になっていますので、「ruby test001.rb」で正常に実行されます。
※「Start Command Prompt with Ruby」でも同じことが可能です。
まとめ
ここでは、Rubyの実行方法について説明しました。
少々丁寧に説明しすぎたかもしれませんが、プログラムの実行というのは、これから数多くやっていくことになります。そのため、できるだけ簡単に実行できるようにしておくことをおすすめします。
ただ、ここに書かれていることをなぞっていくだけではなく、理屈も理解しながら進めると、いざというときに必ず役に立つことでしょう。
・Rubyはコマンドプロンプト上で実行する
・「ruby ファイル名.rb」で実行可能
・プログラムを見やすくする(可読性を上げる)ことで、不具合が出にくくなる
・コンピュータは教えたことしか知らないし、命じたことしかしない
・フルパス表記:ファイルの格納場所を含めた表記方法
・コマンドプロンプトは、作業フォルダ上のファイルを処理する
・cdコマンドで、作業フォルダを変更できる
・コマンドプロンプトのプロパティから作業フォルダの初期値を変更できる