配列とループについて

Kazunori Kamiya
Aug 26, 2017 · 4 min read

・Exercise32:配列とループ

プログラムでは、繰り返し処理を素早く実行する必要があります。
そのために、ここでは”for loop”というものを使って、配列を作成したり表示するということをやってみます。

そして“for loop”を使う前に、ループの結果をどこかに貯めておく必要があり、そうするための最良の方法が配列なんです。
まずはその、配列の作成方法を見てみましょう。

hairs = ['brown', 'blond', 'red']
eyes = ['brown', 'blue', 'green']
weights = [1, 2, 3, 4]

配列を作成するときは、”[”で始まり、その中にカンマで区切った要素を入れ、終了するときは”]”を用います。

それでは実際に、”for loop”を使って配列を作成し、それを出力してみましょう。

ここで、Rubyには2通りのループのやり方があることがわかるでしょう。
Rubyには、”for number in the_count”という書き方と、より一般的な”fruits.each”という書き方があります。
どちらでも問題ないのですが、Rubyでは後者の”.each”を使うべきでしょう。

出力結果について

以下のようになります。

学習ドリル

  1. 最後の”for loop”における、(0..5)の部分を見てください。Rubyの範囲演算子である”..”と”…”について、それぞれどのような役割があるのかインターネットで調べてみてください。
  2. 最初の”for number in the_count”を、他のもののように”.each”という書き方にしてみてください。
  3. Rubyに関するドキュメントの中で、配列に関する部分を読んでみてください。pushという関数以外に、どのような操作ができるでしょうか?”<<”というものを試してほしいのですが、これはpushと同じ効果を持ちながらも、関数ではなく演算子になります。つまり、”fruits << x”というのは、”fruits.push(x)”と同じになります。

学習ドリルの答え

  1. “..”と”…”の違いは、最大値を含むかどうかです。上の例を見ると、”0..5”とした場合は最大値の5が出力されます。しかし”0…5”とした場合、最大値である5は含まれないため出力されず、4で止まってしまいます。実際にやってみた結果が以下になります。

2. 以下のように2通りのやり方があります。

3. pushを使うと配列の末尾に要素を追加することができますが、sortで要素をソートしたり、replaceで変更、reverseで順番を反転させたりと様々なことができます。また、pushの代わりに<<を試したところ、同じ結果が得られました。

)
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