あなたは、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文の使い方など、プログラミング学習において大事なのは実践です。
是非今日得た知識を、自分で書いたプログラムで確かめてみましょう!
こちらの記事もご参考ください。
【転職実績No.1👑】年収アップと自由な働き方を実現したいならITエンジニア転職!
こんな希望はありませんか?
- もっと年収アップできる仕事がしたい
- 時間や場所に縛られず自由に働きたい
- 専門スキルで手に職をつけたい
という方は、ITエンジニア転職がおすすめです
テックキャンプなら、完全未経験🔰でも大丈夫!プログラミング学習〜エンジニア転職支援、副業案件獲得まで個別にサポートします👌
さらに給付金活用で受講料最大70%OFF!※
※2020年12月時点 3.テックキャンプ エンジニア転職は経済産業省の第四次産業革命スキル習得講座の認定も受けており、条件を満たすことで支払った受講料の最大70%(最大56万円)が給付金として支給されます
興味がある方は、以下よりIT転職のプロにキャリアのお悩み相談から始めてみましょう!