irbについて

Kazunori Kamiya
Aug 22, 2017 · 4 min read

・Exercise25:更なる練習

ここでは引き続き、関数や変数のことをよりしっかり理解するために練習をしていきます。

ただこのエクササイズは、前のものとは少し異なります。
普通に実行する代わりに、Rubyに取り込んでから自分自身で関数を実行してみてください。

まず”ruby ex25.rb”と打って、エラーが出ないか確認してください。
エラーがあった場合はそれを修正し、その後次の出力結果についての部分に書いてあることに順って進めてください。

出力結果について

このエクササイズでは、irbを使ってプログラムを実行します。
ターミナルからirbを実行するには、以下のようにやります。

プロンプトと呼ばれる“>”の記号の後には、Rubyのコードを書いてそれを実行することができます。
これを利用して、下のようなコードをirb上で書いて実行し、どうなるか見てみましょう。

require "./ex25.rb"

sentence = "All good things come to those who wait."
words = Ex25.break_words(sentence)
words
sorted_words = Ex25.sort_words(words)
sorted_words
Ex25.print_first_word(words)
Ex25.print_last_word(words)
words
Ex25.print_first_word(sorted_words)
Ex25.print_last_word(sorted_words)
sorted_words
sorted_words = Ex25.sort_sentence(sentence)
sorted_words
Ex25.print_first_and_last(sentence)
Ex25.print_first_and_last_sorted(sentence)

実際にirb上でex25.rbを実行すると、以下のようになります。

1行ずつきちんと見ていけば、ex25.rb内の実行されている関数が何をしているのか理解できるはずです。
結果が異なったりエラーが出る場合は、irbを閉じてコードの修正をしてから再度実行してみてください。

学習ドリル

  1. 出力結果についての部分で、残りの各行をしっかり見てそれらが何をしているのかしっかり理解してください。ex25モジュール内の各関数を、どのように実行しているかきちんと理解する必要があります。
  2. この”Ex25"というモジュールは、必ずしも”ex25.rb”という名前のファイル内にある必要はありません。試しに上のコードを適当に名付けた別のファイルに書き、それをインポートして”Ex25”が”ex25.rb”という名前以外のファイルでも動くことを確認してください。
  3. ファイルを意図的に破壊して、irb上でどうなるか試してみてください。irbを終了する際に”quit()”を用いることで、リロードできます。

学習ドリルの答え

2. 試しに”studydrill2.rb”という名前のファイルに、”ex25.rb”の中身を貼り付けて実行してみました。下の画像のように、問題なく動くことを確認しました。

3. 試しに、11行目のsortをsortingにして実行してみました。

想定通り、sortingというメソッドは存在しないというエラーが出ました。sortの間違いではないか、とirbの方から提案してくれているので、その指摘通りsortに戻せばきちんと動きます。

)
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade