0
1

More than 3 years have passed since last update.

【Ruby】繰り返しについて

Last updated at Posted at 2020-03-20

rubyの繰り返し文についてまとめておきます。

繰り返しを行うには?

以下のような構文又はメソッドを利用して繰り返し文を書くことが可能です。
今回はそれぞれの使い方をまとめて見ます。

・timesメソッド
・for文
・eachメソッド

timesメソッド

一定の回数だけ同じ処理をさせたい場合はtimesメソッドを利用します。

qiita.rb
5.times do
    p "りんご"
end

実行結果.rb

"りんご"
"りんご"
"りんご"
"りんご"
"りんご"

ブロック内で繰り返しの数値を使いたいときはdoの後に|変数|を加えます。

qiita.rb
5.times do |i|
    p "りんご#{i+1}個を食す"
end
実行結果.rb
"りんご1個を食す"
"りんご2個を食す"
"りんご3個を食す"
"りんご4個を食す"
"りんご5個を食す"

for文

timesメソッドとは異なりfor文はメソッドではないので記述方法が異なります。
1から10まで加算する繰り返し文は以下のようにできます。

qiita.rb
sum =0

for i in 1..10 do
    p sum += i
end
実行結果.rb
1
3
6
10
15
21
28
36
45
55

1..10の部分をオブジェクトに変更することも可能です。

qiita.rb
fruits =["りんご","なし","さくらんぼ","みかん"]

for i in fruits do
    p i
end

実行結果.rb
"りんご"
"なし"
"さくらんぼ"
"みかん"

fruits配列の要素分処理を繰り返しています。
for文と同じことをeachメソッドでも記載することが可能です。

each文

each文は以下のように記述します。

each.rb
オブジェクト.each do |変数|
 繰り返したい処理
end

for文と同じ処理をeachメソッドで記述すると・・・・

qiita.rb
fruits =["りんご","なし","さくらんぼ","みかん"]

fruits.each do |i|
    p i
end

実行結果.rb
"りんご"
"なし"
"さくらんぼ"
"みかん"

同じ結果が得られました!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1