break, next, redo, retry

break ,跳出当层循环:

puts "演示break"
c='a'
for i in 1..4

   if i == 2 and c =='a'
      c = 'b'
      print "/n"
      break
   end
   print i,c," "
end
puts "/n/n"
#演示break
1a

##变量 c 在循环体之前赋值为 'a' ,程序执行了 2 次,遇到 break ,退出了本层循环,不再执行第 2 次的print i,c," "。

 

next ,忽略本次循环的剩余部分,开始下一次的循环

puts "演示next"
c='a'
for i in 1..4
   if i == 2 and c =='a'
     c = 'b'
     print "/n"
     next
   end
   print i,c," "

end
puts "/n/n"
#演示next
1a
3b 4b

##变量 c 在循环体之前赋值为 'a' ,程序执行到第 2 次,c 又赋值为 'b',遇到 next ,退出了本次循环,不再执行第 2 次的print i,c," ",开始第 3 次循环,此时,c = 'b',i = 3。


redo ,重新开始循环,还是从这一次开始

puts "演示redo"
c='a'
for i in 1..4
   if i == 2 and c =='a'
      c = 'b'
      print "/n"
      redo
    end
    print i,c," "
end
puts "/n/n"
#演示redo
1a
2b 3b 4b

##变量 c 在循环体之前赋值为 'a' ,程序执行到第 2 次,c 又赋值为 'b',遇到 redo ,重新开始循环,还是从这一次开始 ,此时,c = 'b',i = 2。

 

retry ,重头开始这个循环体:

puts "演示retry"
c='a'
for i in 1..4
   if i == 2 and c =='a'
       c = 'b'
       print "/n"
       retry
   end
   print i,c," "
end
puts "/n/n"
#演示retry
1a
1b 2b 3b 4b
##变量 c 在循环体之前赋值为 'a' ,程序执行到第 2 次,c 又赋值为 'b',遇到 retry ,重头开始这个循环体 ,此时,c = 'b',i = 1

 

其实这个四个关键字从字面上就很好理解, 重要是思路一定要清晰, 免得被绕进去。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值