A Little Each Day

note to self

Rubyのfor文でループ処理と条件付きループ処理をする

こんにちは。本日はプログラミングの基本であるループ文についてです。

ループ文は繰り返し処理に使われ、いくつか種類があります。

今回はその中でもfor文の使い方を見ていきたいと思います。

for文の基本

for文の基本的な書き方は以下のとおりです。

for i in 数字..数字 do
  puts 結果
end


例えば1~100まで出力したい場合は以下のように書きます。

for i in 1..100 do
  puts i
end


すると以下の様な出力結果が出ます。

#ターミナル
1
2
3
・
・
・
98
99
100


このへんはRubyを使う上で覚えておいたほうがいいので、初心者の方は特に覚えておきましょう!


条件文と組み合わせる

for文の基本を見てきましたが、for文はよく条件文(if文)と併用されることがあります。

ここでは試しに3と7で割れる数のときだけ「◯(それらの数字)で割れるよ」と表示できるようにしてみましょう。


作り方としては

1. まず基本となるfor文(ここでは1~100まで)を作ります。
2. その中に指定したい条件文を書く(ここでは3と7で割れるか)

という手順で書いていきます。

# ターミナル
for i in 1..100 do

  if i % 3 == 0
    puts "3で割れるよ"
  elsif i % 7 == 0
    puts "7で割れるよ"
  else
    puts i
  end

end


1つめの条件で3で割ることができて、
2つめの条件で7で割ることができて、
3つめの条件でどちらでもない場合を指定します。


すると出力結果は以下のようになります。

# ターミナル
1
2
3で割れるよ #3だから3で割れる
4
5
3で割れるよ #6だから3で割れる
7で割れるよ #7だから7で割れる
・
・
・
95
3で割れるよ #96だから3で割れる
97
7で割れるよ #98だから7で割れる
3で割れるよ #99だから3で割れる
100


初心者の方はちょっと複雑なことをしなくてはならないのかなと思うかもしれませんが、for文とif文を分けて考えれば簡単に繰り返し処理のなかでも、その条件の時だけ指定した結果を出力することができます。



本日は以上です。