【Ruby入門】for文の基礎から応用までをわかりやすく解説!

プログラミングをする上で繰り返し文を使うことは日常茶飯事です。

Rubyにはさまざまな繰り返し文が用意されていますが、for文は指定した範囲で繰り返し処理を行うときによく使われます。

  • for文の基本的な使い方が知りたい
  • for文の処理を途中でスキップする方法が知りたい
  • for文の処理を途中で終了する方法が知りたい

という方に向けて、この記事ではfor文について以下の内容を解説していきます。


【基礎】繰り返し文とは
【基礎】for文の使い方
【発展】nextの使い方
【発展】breakの使い方
【発展】redoの使い方

for文の基本から応用まで解説していきますので、初学者の方は参考にしていただけたら幸いです!

for文の使い方

Untitled design(1)

繰り返し文とは

実際にfor文の説明に入る前に「繰り返し文とは何か?」という基礎的な説明をしておきましょう。

繰り返し文とは、ある一定のルールに沿った処理をループさせることです。

例えば1から1000までの数字を順番に表示させようと思ったとき、手動で一つ一つプリントさせるのは手間ですよね。

そんな時に、繰り返し文を使えば自動でそれを行ってくれるのです。

そして、どの言語でも大体用意されている代表的な繰り返し文がfor文やwhile文となります。

for文の基本的な使い方

それではfor文の基本的な書き方について見ていきます。

先程、ある一定のルールに従ってループさせると説明しましたがそのルールとは、

「どこから、どこまでをループさせる」

と与えるのが一般的です。

そしてそのルールを示すものをプログラミングではオブジェクトと呼びます。

それを踏まえた上で、for文の構文を見てみると、以下のようになります。

こうなります。

doはfor文では、省略することもできますが、他の繰り返し文などによっては省略できないこともあるので初心者のうちはつけておけば間違いないでしょう。

そして実際にオブジェクトにどんな値を渡せるかというと、配列範囲オブジェクトなどが一般的です。

一つずつみていきましょう。

[実行結果]

このように、配列を渡すと、一回目の処理に1、二回目の処理に2と、配列が終わるまで繰り返していることがわかります。

次に範囲オブジェクトを見てみましょう。

[実行結果]

範囲オブジェクトとはこのように範囲を指定します。

因みに、中の..の数によって、以上以下、以上未満が決まります。

1..5は1以上5以下、1…5は1以上5未満です。

これがfor文の基本的な使い方です。

次項ではそんなfor文を制御する方法を見ていきましょう。

nextで処理をスキップ

nextメソッドは名前の通り処理をスキップして次の処理に向かう事ができるメソッドです。

1から5までの数字を表示させたいんだけど、4って縁起が悪いから表示させたくない。

そんなときは、

このように指定してあげれば、4だった場合はnextでputsの処理がスキップされていることがわかりますね。

breakで処理を終了する

次はbreakメソッドについてみていきましょう。

breakメソッドとは、ある条件を満たしたらそこで強制的にそのループから抜けるためのものです。

例えば1から5までの数値を表示させたいけど、もし途中で4に出会って(今回は確実に出会うんだけど)しまったらそこでそのループを抜けたいという時に使います。

実際にコードをみてみると、

4に出会ってしまったため、そこでループが終わっていますね。

redoでルールを無視する

最後にredoメソッドについてみていきましょう。

こちらは、ある条件を満たしたら、与えられたオブジェクト(ルール)を無視できるというものです。

実際に見てみましょう。

解説すると、iが4のときiに5を代入していますね。

なので、4が表示されるところに5が表示されています。

そして本来であればiに5が入って表示されたらプログラムは終わるはずですが、次にまた5が表示されています。

ここがredoのミソですね。

つまり、iに4が入ったときにiに5が代入され、その後条件式を無視して、5を表示したためループは終わりません。

そして本来の5がその後出力されループが終わるという挙動になっていますね。

少しイメージしづらいですが使いこなすととても使いやすいのでマスターしてみましょう!

まとめ

今回はfor文の使い方そのループを制御する方法を解説させていただきました。

これらは基本であり、今後ずっと使っていくものですので、わからないままにしておかずマスターしてしまいましょう!それでは!!

Rubyカリキュラム無料公開中!

この記事はRuby入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Ruby学習に必要な情報を一つにまとめていますので効率よくRubyを学ぶことが出来ます。この機会に是非活用していただければと思います。

【Ruby入門ガイド】アプリ開発で知っておくべき知識を総ざらい
更新日 : 2018年11月23日

Rubyを最短で習得したい方へ

近年では様々なWEBサービスが流通するようになりました。

WEBサービスの普及が進むにつれて、それらを素早く開発するのに長けたRubyの人気は今後さらに増し、Rubyエンジニアの需要も自ずと増えることは間違いなしでしょう。

元々ITリテラシーの高い方や他言語を習得している方であれば、独学でRubyを習得することが可能です。

ただし、プログラミング学習をしている方の多くは

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」

このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • WEBアプリケーション開発までしっかりサポートして欲しい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、「CookPad」、「Wantedly」、「食べログ」のようなWEBアプリケーション開発方法もスムーズに学習することできます。

実際にオリジナルWEBアプリを開発し、成果物として認められて仕事獲得に成功した塾生は数多くいます。

このように、オリジナルアプリ開発から仕事獲得まで徹底的にサポートすることでプログラミング初心者の方でも安心して基礎学習に取り組むことができます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Rubyならではの学習方法や、現役フリーランスRubyエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像から弊社サービス内容をご確認ください。

ruby_a2
LINEで送る
Pocket

書いた人

ヤマシタ

フリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、今まで200本以上の執筆経験があります

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説