Rubyの変数について

Kazunori Kamiya
Aug 8, 2017 · 3 min read

ここでは変数について学習していきます。

もしここで迷ったりした場合は、以前学習した間違いの見つけ方などを思い出してください。

  1. それぞれの行の上に、その行が何をしているのかコメントを入れる。
  2. “.rb”ファイルを最後から読んでみる。
  3. “.rb”ファイルを声に出して読んでみる。

出力結果について

上のファイルを実行すると、以下のようになります。

学習ドリルについて

前にこのプログラムを書いたとき、一度間違えたことがあり、以下のようなメッセージが出力されました。

There are 100 cars available.
There are only 30 drivers available.
There will be 70 empty cars today.
ex4.rb:14: undefined local variable or method `carpool_capacity' for
main:Object (NameError)

このエラーについて、行番号を使いつつ自分の言葉で説明してみてください。
以下に学習ドリルの内容を書いておきます。

  1. ”space_in_a_car”において4.0としましたが、こうする必要があったでしょうか?単純に4としたら、どうなるでしょうか?
  2. 4.0は単なる浮動小数点数であり、数字に小数点を使っているだけということを覚えておいてください。
  3. それぞれの変数の代入式の上に、コメントを書いてください。
  4. “=”が何と呼ばれているのか(イコール)、その役割(数字や文字列などデータの受け渡し)について確実に理解してください。
  5. “_”はアンダースコアです。
  6. 以前やったように、ターミナルからRubyを計算機として動かしてみてください。そこでは変数を使ってみてほしいのですが、変数としてポピュラーなのは”i”、”x”、”j”などです。

学習ドリルの答え

14行目のところで、”carpool_capacity”が未定義というエラーが出ています。
言い換えれば、14行目まで読み込んだところで出てきた”carpool_capacity”という変数が、存在しないということです。
これは、冒頭の変数定義でスペルミスなどの間違いがあったはずです。
変数定義の部分に戻って、”carpool_capacity”の部分を見直せば間違いに気づくでしょう。

  1. 4.oとしたのは、小数点を交えてより正確な値を出すためです。単純に4とすれば”carpool_capacity”の出力結果は120となり、小数点は含みません。今回の結果では問題ありませんが、小数点が含まれそうになる計算では4.0のようにした方がいいでしょう。

3. 以下のようになります。

6.irbを用いた計算結果を下に示します。

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