Ruby on Railsは、規約通りに特定のコマンドを使用することで、スピーディにアプリ開発ができるフレームワークです。
本来はRubyのeach文と言う意味ですが、講義での説明を統一する為にRuby on Railsと記載しています。RailsとはRubyのフレームワーク名です。
前回は、HTMLで書いた投稿内容を、変数に代入し、Rubyコードとしてデータを実行、表示させることで、投稿一覧を表示することができました。
- 変数の定義には、<% %>
- Rubyコードの実行、ブラウザに表示したい時には、<%= %>
を使うのでしたね。
しかしこの方法では、投稿を増やしたい場合、その都度、HTMLと変数を書かなくてはならず、大変な作業になってしまいます。
この問題を解決できるのが
Rubyのeach文
です。
今回は、このRuby「each文」について勉強していきましょう。
目次
Ruby on Railsでeach文とは?
each文とは、配列の中にある要素を、ひとつずつ順番に取り出して実行する「繰り返し処理方法」です。
- 複数の値をまとめて扱うことができる
- カウンタ用の変数が不要
といったメリットがあります。
each文の記述方法
each文は基本的には、このように記述します。
配列名.each do|変数名|
#繰り返したい処理
end
each文を記述する際に、注意すべきポイントは
- 配列名・・・複数形
- 変数名・・・単体形
で記述するという点です。
Ruby on Railsで配列を用意しよう
配列とは・・・
複数の値を管理する時に用いる「箱」のようなもの
だとイメージするとわかりやすいです。
そして、その配列の箱に入っている、それぞれの値のことを
要素
と呼びます。
配列の作成方法
配列を使うと、複数の文字列や数値をまとめて書くことができるので便利です。
配列を作成する場合は、
["値1", "値2", "値3"]
のように
- カッコ[]を使用
- 要素名はダブルクォーテーション””で囲む
- 要素はコンマ,で区切る
配列の要素には、前から順に0,1,2・・・と数字が割り振られていて、これを「インデックス番号」とよびます。
インデックス番号は、1からではなく、0から始まるので間違えないように注意しましょう。
Ruby on Railsでeach文を使ってみよう
each文を使って
- それぞれの変数を1つの配列にまとめる
- 配列の中身を each 文で1つずつ取り出す
作業をしてみましょう。
例えば「佐藤」「鈴木」「田中」という名前を順番に表示させたい場合のeach文は次のようになります。
names = ["佐藤","鈴木",”田中”]
names.each do |name|
puts name
end
each文の注意点
each文を書く時は、次の点に注意です。
- 配列名は複数形、変数名は単数形
- 必ず「end」で締めくくる
「end」は特に忘れがちなので、注意しましょう。
Ruby on Railsでeach文を使ってみようまとめ
each文は、含まれる要素すべてに共通の処理を行いたいときに便利な構文です。
配列から要素を1つずつ取り出して変数に代入し、要素がなくなるまで同じ処理を繰り返してくれます。
配列を作成する場合のポイントは
- カッコ[]を使用
- 要素名はダブルクォーテーション””で囲む
- 要素はコンマ,で区切る
each文を記述する場合のポイントは
- 配列名は複数形、変数名は単数形
- 必ず「end」で締めくくる
です。
今回は、最も易しい基本のeach文を説明しましたが
- 指定した最初の値と最後の値の範囲を表す「範囲オブジェクト」
- 配列の各要素に値のオブジェクトとキーのオブジェクトの2つが代入されている「ハッシュオブジェクト」
などにも使用されます。
また、繰り返し同じ処理を実行する構文には、each文のほかにも
- times
- for
- while
などの構文もありますが、Ruby on Railsでは、each文を使う頻度が多いので、しっかり覚えておきましょう。