Ruby中的循环语句的用法教程
技术  /  管理员 发布于 5年前   513
Ruby中的循环用于执行相同的代码块指定的次数。本章将详细介绍Ruby支持的循环语句。
Ruby while 语句:
语法:
while conditional [do]
code
end
执行代码当条件为true时。while循环的条件是代码中的保留字,换行,反斜杠(\)或一个分号隔开。
实例:
#!/usr/bin/ruby$i = 0$num = 5while $i < $num do puts("Inside the loop i = #$i" ) $i +=1end
这将产生以下结果:
Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4
Ruby while 修辞符:
语法:
code while condition
OR
begin
code
end while conditional
执行代码,当条件为true。
如果while 修饰符紧跟一个begin 语句但是没有 rescue 或 ensure 子句, 代码被执行前一次条件求值。
实例:
#!/usr/bin/ruby$i = 0$num = 5begin puts("Inside the loop i = #$i" ) $i +=1end while $i < $num
这将产生以下结果:
Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4
Ruby until 语句:
until conditional [do]
code
end
执行代码当条件为false。until 条件语句从代码分离的保留字,换行符或分号。
语句:
#!/usr/bin/ruby$i = 0$num = 5until $i > $num do puts("Inside the loop i = #$i" ) $i +=1;end
这将产生以下结果:
Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4Inside the loop i = 5
Ruby until 修辞符:
语法:
code until conditional
OR
begin
code
end until conditional
执行代码当条件为 false。
如果 until 修辞符跟着 begin 语句但没有 rescue 或 ensure 子句, 代码一旦被执行在条件求值之前。
例子:
#!/usr/bin/ruby$i = 0$num = 5begin puts("Inside the loop i = #$i" ) $i +=1;end until $i > $num
这将产生以下结果:
Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4Inside the loop i = 5
Ruby for 语句:
语法:
for variable [, variable ...] in expression [do]
code
end
一次执行代码的每个元素在 in 表达式。
实例:
#!/usr/bin/rubyfor i in 0..5 puts "Value of local variable is #{i}"end
这里我们定义的范围 0 .. 5 。因为在语句 for i in 0..5 将允许取值的范围从0到5(含5),这将产生以下结果:
Value of local variable is 0Value of local variable is 1Value of local variable is 2Value of local variable is 3Value of local variable is 4Value of local variable is 5
for...in 循环几乎是完全等同于:
(expression).each do |variable[, variable...]| code end
除了一个for循环不创建一个新的局部变量的范围。一个循环的表情从代码分离,保留字,一个换行符,或分号。
例子:
#!/usr/bin/ruby(0..5).each do |i| puts "Value of local variable is #{i}"end
这将产生以下结果:
Value of local variable is 0Value of local variable is 1Value of local variable is 2Value of local variable is 3Value of local variable is 4Value of local variable is 5
Ruby break 语句:
语法:
break
终止大多数内部的循环。终止块内的方法返回nil如果调用的方法与相关块。
实例:
#!/usr/bin/rubyfor i in 0..5 if i > 2 then break end puts "Value of local variable is #{i}"end
这将产生以下结果:
Value of local variable is 0Value of local variable is 1Value of local variable is 2
Ruby next 语句:
语法:
next
跳转到最内部循环的下一次迭代。如果调用块一个块内终止执行(带 yield 或调用返回 nil )。
例子:
#!/usr/bin/rubyfor i in 0..5 if i < 2 then next end puts "Value of local variable is #{i}"end
这将产生以下结果:
Value of local variable is 2Value of local variable is 3Value of local variable is 4Value of local variable is 5
Ruby redo 语句:
语法:
redo
会重新启动启动这个最内部的循环迭代,而不检查循环条件。
会重新启动 yield or call ,如果一个块内调用。
例子:
#!/usr/bin/rubyfor i in 0..5 if i < 2 then puts "Value of local variable is #{i}" redo endend
这将产生以下结果,将执行无限循环:
Value of local variable is 0Value of local variable is 0............................
Ruby retry 语句:
语法:
retry
如果 retry 表达出现在 rescue 子句,则从开始重新开始。
begin do_something # exception raisedrescue # handles error retry # restart from beginningend
如果出现重试迭代,块,或体内的表达,重新启动迭代调用。迭代器的参数条件将重新计算。
for i in 1..5 retry if some_condition # restart from i == 1end
实例:
#!/usr/bin/rubyfor i in 1..5 retry if i > 2 puts "Value of local variable is #{i}"end
这将产生以下结果,将进入无限循环:
Value of local variable is 1Value of local variable is 2Value of local variable is 1Value of local variable is 2Value of local variable is 1Value of local variable is 2............................
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号