今回はRubyのfor文による繰り返しを解説していきます。
for文
for文は、あらかじめ用意されている配列などの要素から値を取り出し、繰り返しを実行します。
基本的な書式は以下のようになります。
1 2 3 |
for (変数) in (オブジェクト) do #doは省略できます (実行する処理) end |
for文で使えるオブジェクトはなんでもいいわけではありません。基本的に、配列やハッシュのようなオブジェクトを使います。
doは省略することができます。
実際にコードを書いてみましょう。
1 2 3 4 5 |
drink = ["MILK","COFFEE","WATER"] for uxname in drink do puts "UX" + uxname end |
結果は以下のようになります。
1 2 3 |
UXMILK UXCOFFEE UXWATER |
ここで上記のコードを参考に、for文の流れを見てみましょう。
あらかじめ用意した配列オブジェクト”drink”には”MILK”、”COFFEE”、”WATER”の3つの文字列がはいっています。
for文では、この配列の順に、変数”uxname”に代入されていきます。
まずはじめに、uxnameには文字列”MILK”が代入され、その後に続く処理 puts "UX" + uxname が実行されます。
同じ要領で配列の順に変数へ値が代入され、それぞれ処理が実行されます。
for 文ではこのような流れで繰り返しが行われます。
多重代入
オブジェクトの要素が多数あった場合、変数を複数個用意することができます。
実際にコードを書いてみましょう。
1 2 3 4 5 6 |
drink = {:MILK => "牛乳",:COFEE => "コーヒー",:WATER => "水"} for uxname_en,uxname_jp in drink do puts "UX" + "#{uxname_en}" puts "ユーザーエクスペリエンス" + "#{uxname_jp}" end |
上記のコードでは、ハッシュを用意しています。カンマで区切り、それぞれ2つずつ指定します。
結果は以下のようになります。
1 2 3 4 5 6 |
UXMILK ユーザーエクスペリエンス牛乳 UXCOFEE ユーザーエクスペリエンスコーヒー UXWATER ユーザーエクスペリエンス水 |
まとめ
以上がfor文についての解説になります。
for文を使うことに適している場面とそうでない場面があるため、状況に応じて、どの繰り返し構文を使うか吟味しましょう。