each】使い方の基礎を3つのパターンで解説ヤマシタ2018/6/32019/4/12Rubyのeachメソッドで配列の要素を順番に取得したい範囲オブジェクトの値を順番に取得したいRubyには便利なメソッドがたくさん用意されていますが、eachメソッドは配列やオブジェクトを要素分繰り返したいときに非常に便利なメソッドです。ここでは、エンジニアとしてさまざまな言語を渡り歩いてきた著者がRubyのeachメソッドについて、基本的な使い方を3つのパターンに分けてご紹介します。Ruby初学者でも十分参考になると思いますのでぜひ参考にしてください。この記事は以下の内容で解説します。eachメソッドの概要eachメソッドの基本的な使い方eachメソッドで範囲オブジェクトを使用する方法eachメソッドでハッシュの要素分繰り返す方法eachの基本からさまざまなな使い方までわかりやすく解説していきます。まとめRubyのeachメソッドとはeachメソッドは、主に配列の要素分の処理を繰り返し行いたい場合に使用するメソッドです。配列を指定してeachメソッドを実行すると、配列のインデックス番号0から順番に繰り返し処理が実行されます。繰り返し処理endまたは、doを省略した以下の記述でも可能です。繰り返し処理}ブロック内に指定した変数は配列で取得するときの変数名を指定します。配列についてよく理解していない方は以下の記事に詳しく解説していますので、合わせて参考にしてください。2018年9月4日Rubyのeachメソッド3つの基本的な使い方ここではeachメソッドの使い方について解説します。配列の要素分繰り返すここでは実際に簡単なプログラムを作成してeachメソッドの動作を確認してみましょう!以下のサンプルプログラムでは、配列fruitsに対して要素を1つずつ取得して出力させています。|変数|」で指定した変数に配列の要素を順番に格納されます。そのため、eachメソッドの繰り返し処理では格納された配列の要素の値を順番に参照することができます。範囲オブジェクトを参照するeachメソッドは範囲を指定して、指定した範囲分繰り返し処理を行うことも可能です。範囲を指定するには範囲の最初と最後を、以下のように指定します。1..10これで1から10までの値が取得されました。実際に範囲オブジェクトを指定してeachで繰り返し処理を実施してみましょう。aend実行結果:12345678910このように簡単に範囲を順番に取得することができましたね!ハッシュの要素分繰り返すキーと値を定義できるHash(ハッシュ)クラスでもeachメソッドを使用することができます。ハッシュでeachメソッドを実行すると、キーと値を順番にブロックで指定した変数に代入されて繰り返し処理が実行されます。繰り返し処理}以下のサンプルプログラムでは、ハッシュで定義したfruitsオブジェクトに対してeachメソッドを使用して、キーと値を順番に取り出しています。400このようにeachを使用すれば、ハッシュの要素も簡単に取得できることがわかりますね!eachメソッドのさまざまな使い方eachメソッドには関連するメソッドも多く用意されています。関連するメソッド配列を取得するときにインデックス番号も扱いたい場合はeach_with_index改行文字ごとに文字列を取得したい場合はeach_line配列の要素を指定した数値で切り分けたい場合はeach_sliceブロックに値を渡して新たな配列を作成したい場合はeach_with_objectなどの操作が可能です。そんなeachメソッドのさまざまな操作方法については、以下の記事でまとめていますので、ぜひ参考にしてください。2019年4月12日Rubyについてもっと学びたい方へRubyの使い方についてもっとよく知りたいRubyのスキルを身に着けられるか不安...Rubyを体系的に理解したいと感じている方は以下の記事も合わせてご覧ください。Rubyの基礎の基礎から勉強法などを体系的にまとめていますので、きっと参考になるのではと思います。2019年8月16日まとめここではeachメソッドについて、概要から基本的な使い方についてわかりやすく解説しました。eachメソッドは配列や範囲オブジェクト、ハッシュなどの要素に同じ処理を繰り返し実施したい場合に非常に便利ですので、使い方はしっかりと理解しておきましょう。eachの使い方を忘れてしまったら、この記事を思い出してくださいね。TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人ヤマシタシステムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。