あなたは、Rubyのfor文をちゃんと使いこなせていますか?
当記事ではプログラミング学習において初心者が躓きやすい繰り返し処理の「for文」を、わかりやすく徹底解説します。
そもそも繰り返し処理とは何かというところから、初心者でも必ず理解できるように解説していきますので、なんとなく使ってる方も必見です。
具体例やサンプルプログラムも用意しているので是非参考にしてください。
繰り返し処理とは何か
出典:buildinsider
繰り返し処理とは決まった回数や条件を満たしている間は同じ処理を繰り返し行う処理のことです。
具体的にイメージが湧きにくいとは思いますが、具体例などを用いて少しずつ噛み砕いていきます。
繰り返し処理の種類
Rubyの繰り返し処理の種類ですが、この記事で取り上げる「for」の他に「while」「time」「loop」「until」などがあります。
詳しく知りたい方は下記リンクを参考にしてください。
for文の使い方
for文の一般的に以下のような使い方をします。
for 変数 in オブジェクト do 繰り返す処理 end
ここで注意しなければならないポイントが2つあります。
1点目は変数についてです。
rubyには「予約語」というものが存在します。
予約語とは、使ってはいけない変数名のことです。
したがって、予約語を使用すると、エラーが出てしまいます。
※詳しく知りたい方は下記のリンクを参考にしてください。
【予約語】
2点目はオブジェクトについてです。
Rubyで扱える全てのデータは、「オブジェクト」と呼ばれます。
現実世界の数、文字、色、時間などはRubyで扱う場合にはオブジェクトという形で
データ化され、扱うことが可能となります。
for文では全てのオブジェクトを使用できるわけではありません。
具体的には配列オブジェクト、ハッシュオブジェクト、範囲オブジェクトです。
※オブジェクトに関して詳しく知りたい方は下記のリンクを参考にしてください。
【オブジェクト】
では具体例を見てみましょう。
範囲オブジェクトの場合
範囲オブジェクトとは、指定した最初の値と最後の値の範囲を表すオブジェクトのことです。数の範囲を表現するためのオブジェクトという認識で大丈夫です。
for num in 1..5 do puts "繰り返し処理#{num}回目" end
上記のプログラムを実行すると
繰り返し処理1回目 繰り返し処理2回目 繰り返し処理3回目 繰り返し処理4回目 繰り返し処理5回目
という結果を得ます。
【解説】
この処理はnumという変数に1から5までそれぞれの数字が代入され処理が実行されます。
数字が一回代入されると一回処理が実行されます。
したがって、範囲オブジェクトの部分を1..10とすると1から10のそれぞれの数字に対して処理が行われるので、
計10回処理が行われます。
配列オブジェクトの場合
出典:テックキャンプ プログラミング教養教材
配列オブジェクトとは、1つの変数でたくさんの情報を持つことのできるオブジェクトのことです。
array = [1,2,3,4] for num in array do puts num end
上記のプログラムを実行すると
1 2 3 4
という結果を得ます。
【解説】
このプログラムは1行目に定義した、配列オブジェクトの一つ一つの要素に対して実行されます。
1回目の処理は1がnumに代入され1回目の繰り返し処理を実行、
2回目の処理は2がnumに代入され2回目の繰り返し処理を実行、
のような流れで計4回行われます。
もちろん文字列の場合でも下記のように実行されます。
array = [1,2,3,"ダァー!!!"] for num in array do puts num end 1 2 3 ダァー!!!
こちらの記事もご参考ください。
ハッシュオブジェクトの場合
出典:テックキャンプ プログラミング教養教材
ハッシュオブジェクト(略称:ハッシュ)は1つの変数で複数のデータを持つことのできるオブジェクトです。
ハッシュオブジェクトは、自身の中にデータ(バリュー)とそれに対応するキーのセットを所持することができます。
students = {stu1: :太郎, stu2: :二郎, stu3: :イチロー} for key, value in students puts "KEY:#{key},名前:#{value}" end
上記のプログラムを実行すると
KEY:stu1,名前:太郎 KEY:stu2,名前:二郎 KEY:stu3,名前:イチロー
という結果を得ます。
【解説】
ハッシュオブジェクトの場合、「変数、変数」のように変数を二つ定義します。
これはハッシュにキーとバリューがあるからです。
処理に関しては、それぞれのキーとバリューに対して繰り返し処理が実行されます。
こちらの記事もご参考ください。
まとめ
さて、いかがでしたでしょうか。
このように少しずつ噛み砕いていけば、理解していくのも容易になってくるかと思います。
for文の使い方など、プログラミング学習において大事なのは実践です。
是非今日得た知識を、自分で書いたプログラムで確かめてみましょう!
こちらの記事もご参考ください。
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。