5. 繰り返し(2)
2012/11/14 シナジーマーケティング(株) 河野 健太朗
5.4 for
配列などに対して繰り返しの操作を行いたいときに使用します。
for value in list [do] # listの要素の数だけ繰り返される end
# coding: utf-8 list = [1, 2, 3, 4, 5] for number in list puts number end
> ruby for_test.rb 1 2 3 4 5
do は省略可能です。
5.5 脱出
break next redoの3つは脱出のための構文で、繰り返しを中断したりする際に使用します。
- break 繰り返し処理を中断し、以降の繰り返しを実行しません。
- next 繰り返し処理を中断し、次の繰り返し処理を行います。
- redo 繰り返し処理を中断し、再度繰り返し処理を行います。
# coding: utf-8 list = [1, 2, 3, 4, 5] list.each do |number| if number == 3 break end puts number end puts "====================" list.each do |number| if number == 3 next end puts number end puts "====================" counter = 0 list.each do |number| puts "number is #{number}" puts "counter is #{counter}" puts "\r\n" counter += 1 if counter > 10 break end if number == 4 redo end end
> ruby loop_control_constructs_test.rb 1 2 ==================== 1 2 4 5 ==================== number is 1 counter is 0 number is 2 counter is 1 number is 3 counter is 2 number is 4 counter is 3 number is 4 counter is 4 number is 4 counter is 5 number is 4 counter is 6 number is 4 counter is 7 number is 4 counter is 8 number is 4 counter is 9 number is 4 counter is 10