目次へ

5. 繰り返し

2015/03/24 シナジーマーケティング(株) 河野 健太朗

5.1 loop

無限ループを実行します。 脱出 を使用しなければ処理を中断できません。
loop の do は省略できません。

loop do
  処理
end
# coding: utf-8

counter = 0
loop do
  counter += 1
  puts counter
  break if counter == 10
end
> ruby loop_test.rb
1
2
3
4
5
6
7
8
9
10

5.2 while

条件が「真」の間、処理が繰り返し実行されます。

while 条件 [do]
  # 条件が真の間実行される
end

do は省略可能です。

# coding: utf-8

counter = 10
while counter > 0
  counter -= 1
  puts counter
end
> ruby while_test.rb
9
8
7
6
5
4
3
2
1
0

while修飾子

ifやunlessのように式の後ろにwhileを記述することができます。

式 while 条件
# coding: utf-8

counter = 10
counter -= 1 while counter > 0
puts counter
> ruby while_test3.rb
0

begin節を修飾した場合には、 begin節の実行後 に条件の評価が行われます。

begin
  # 処理
end while 条件
# coding: utf-8

counter = 0
begin
	counter += 1
	puts counter
end while counter < 10
> ruby while_test2.rb
1
2
3
4
5
6
7
8
9
10

式を修飾した場合

  • 条件が先に評価され、式が実行されないことがある。

begin節を修飾した場合

  • begin節が先に実行され、条件が評価されるので、最低1回はbegin節が実行される

という違いがありますので注意してください。

5.3 until

条件が「偽」の間、処理が繰り返し実行されます。

unless 条件 do
  # 条件が偽の間実行される
end
# coding: utf-8

counter = 0

until counter > 10
	counter += 1
	puts counter
end
> ruby until_test.rb
1
2
3
4
5
6
7
8
9
10
11

またwhileと同じように、until修飾子があります。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp