Ruby on Railsでeach文を使ってみよう

Ruby on Railsでeach文を使ってみよう

Ruby on Railsは、規約通りに特定のコマンドを使用することで、スピーディにアプリ開発ができるフレームワークです。

本来はRubyのeach文と言う意味ですが、講義での説明を統一する為にRuby on Railsと記載しています。RailsとはRubyのフレームワーク名です。

前回は、HTMLで書いた投稿内容を、変数に代入し、Rubyコードとしてデータを実行、表示させることで、投稿一覧を表示することができました。

  • 変数の定義には、<% %>  
  • Rubyコードの実行、ブラウザに表示したい時には、<%= %>

を使うのでしたね。

しかしこの方法では、投稿を増やしたい場合、その都度、HTMLと変数を書かなくてはならず、大変な作業になってしまいます。

この問題を解決できるのが

Rubyのeach文

です。

今回は、このRuby「each文」について勉強していきましょう。

【無料プレゼント】
WordPress緊急チェック50

「自分のサイトは今、安全なのか?」
自信を持って答えられますか?

WordPress緊急チェック50

こんなお悩みはありませんか?

  • ある朝、サイトを開いたら真っ白画面になっていた
  • 管理画面にログインできなくなって手が止まった
  • 身に覚えのない記事やページが勝手に増えていた
  • プラグインを更新したらサイト全体が崩れてしまった
  • 以前バックアップを取ったか自分でも覚えていない

累計1,000件以上のWordPressトラブル対応の経験から、「壊れる前に備える」ためのチェックリストを1冊にまとめました。
ログイン・本体・バックアップ・サーバー・運用の5分野を、50項目で「危険度・確認方法・対処法」まで解説しています。

セキュリティプラグイン・WordPressの教科書も含めた3大特典を、
今なら無料で受け取れます。

今すぐ無料ダウンロードする →

※登録後すぐにメールで特典をお届けします

Ruby on Railsでeach文とは?

each文とは、配列の中にある要素を、ひとつずつ順番に取り出して実行する「繰り返し処理方法」です。

  • 複数の値をまとめて扱うことができる
  • カウンタ用の変数が不要

といったメリットがあります。

each文の記述方法

each文は基本的には、このように記述します。

配列名.each do|変数名|
 #繰り返したい処理
end

each文を記述する際に、注意すべきポイントは

  • 配列名・・・複数形
  • 変数名・・・単体形

で記述するという点です。

Ruby on Railsで配列を用意しよう

配列とは・・・

複数の値を管理する時に用いる「箱」のようなもの

だとイメージするとわかりやすいです。

そして、その配列の箱に入っている、それぞれの値のことを

要素

と呼びます。

配列の作成方法

配列を使うと、複数の文字列や数値をまとめて書くことができるので便利です。

配列を作成する場合は、

["値1", "値2", "値3"]

のように

  1. カッコ[]を使用
  2. 要素名はダブルクォーテーション””で囲む
  3. 要素はコンマ,で区切る

配列の要素には、前から順に0,1,2・・・と数字が割り振られていて、これを「インデックス番号」とよびます。

インデックス番号は、1からではなく、0から始まるので間違えないように注意しましょう。

Ruby on Railsでeach文を使ってみよう

each文を使って

  1. それぞれの変数を1つの配列にまとめる
  2. 配列の中身を 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文を使う頻度が多いので、しっかり覚えておきましょう。

この記事を書いた人

よこやま良平

こんにちは!20年以上ITエンジニアとして活動してきた
よこやま良平です。

Wordpress復旧やサイト修復、オンライン講座では
200件以上のレビューを頂いており

「すぐに復旧してくれる!」
「当日行ってくれて助かった!」など

評価は4.9/5.0と非常に高く好評です。

またWordPress、SEO、Officeなど25冊以上の書籍を出版しており、
売上ランキング1位を連続で獲得致しました。

その他これまでに3000以上のサービス・システム・サイトを作成。

多くの方の「できない」や「悩み」を解決してきました。
その観点からわかりやすく解説しています。