配列とループについて
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”を使うべきでしょう。
出力結果について
以下のようになります。

学習ドリル
- 最後の”for loop”における、(0..5)の部分を見てください。Rubyの範囲演算子である”..”と”…”について、それぞれどのような役割があるのかインターネットで調べてみてください。
- 最初の”for number in the_count”を、他のもののように”.each”という書き方にしてみてください。
- Rubyに関するドキュメントの中で、配列に関する部分を読んでみてください。pushという関数以外に、どのような操作ができるでしょうか?”<<”というものを試してほしいのですが、これはpushと同じ効果を持ちながらも、関数ではなく演算子になります。つまり、”fruits << x”というのは、”fruits.push(x)”と同じになります。
学習ドリルの答え
- “..”と”…”の違いは、最大値を含むかどうかです。上の例を見ると、”0..5”とした場合は最大値の5が出力されます。しかし”0…5”とした場合、最大値である5は含まれないため出力されず、4で止まってしまいます。実際にやってみた結果が以下になります。


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


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

