Ruby while 语句:

语法:

while conditional [do]
   codeend
执行代码当条件为true时。while循环的条件是代码中的保留字,换行,反斜杠()或一个分号隔开。
实例:

#!/usr/bin/ruby
$i = 0
$num = 5
while $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]
   codeend
执行代码当条件为false。until 条件语句从代码分离的保留字,换行符或分号。
语句:

#!/usr/bin/ruby
$i = 0
$num = 5
until $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
   codeend 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]
   codeend
一次执行代码的每个元素在 in 表达式。
实例:

#!/usr/bin/ruby
for 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/ruby
for 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/ruby
for 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/ruby
for 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/ruby
for 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............................
 

Ruby 循环的更多相关文章

  1. 雷林鹏分享:Ruby 循环

    Ruby 循环 Ruby 中的循环用于执行相同的代码块若干次.本章节将详细介绍 Ruby 支持的所有循环语句. Ruby while 语句 语法 while conditional [do] code ...

  2. 简单记录一下ruby 循环

    今天整理一下ruby中的循环用法: 备注:“do~end”部分也可以写做{~} 1.break:直接跳出整个循环 i= 0 ["perl","python",& ...

  3. Ruby自学笔记(六)— 循环

    循环结构在编程语言中是不可或缺的,所以Ruby中的循环也有其自定义的规则. 而我们关注循环结构,要知道两个因素:1) 循环的条件:2) 循环执行的内容 Ruby有一些方式来实现循环结构体: 1. ti ...

  4. Vagrant (二) - 日常操作

    立即上手 上一节中,我们介绍了怎样安装 Vagrant,安装本身并不困难.本章节中我们首先要快速上手,以便获得一个直观的概念: 建立一个工作目录 打开命令行工具,终端工具,或者iTerm2等,建立一个 ...

  5. Vagrant基本知识、基本操作

    Vagrant基本知识.基本操作 一.介绍 二.安装Vagrant 三.安装到Windows 四.准备Boxes 五.基本操作 六.Vagrant常用命令 七.Vagrantfile 7.1 box ...

  6. ruby的循环使用及区别(for、each等)

    ruby的循环有以下几种: times方法 for语句 while语句 until语句(与while相反) each方法(与for极度相似,在ruby内部,for语句是用each实现的) loop方法 ...

  7. ruby for in 循环中改变i的值无效

    ruby for in 循环中改变i的值无效 for j in 1..5 puts "#{j}hehe" j = j + 2 #break end 在循环中,使用j = j + 2 ...

  8. Ruby学习中(条件判断, 循环, 异常处理)

    一. 条件判断 详情参看:https://www.runoob.com/ruby/ruby-decision.html 1.详情实例(看看就中了) #---------------# # LOL场均人 ...

  9. 通过 for 循环,比较 Python 与 Ruby 编程思想的差别

    作者:Doug Turnbull 译者:豌豆花下猫@Python猫 原文:https://softwaredoug.com/blog/2021/11/12/ruby-vs-python-for-loo ...

随机推荐

  1. lodash 数组元素查找 findIndex

    _.findIndex(array, [predicate=_.identity]) 这个方法类似 _.find.除了它返回最先通过 predicate 判断为真值的元素的 index ,而不是元素本 ...

  2. Oracle 创建表空间、临时表空间、创建用户并指定表空间、授权,删除用户及表空间

    /* 说明:若已经存在相应的用户和表空间,则需要先删除相应的用户和表空间 然后再全部重新建立 */ --删除用户 drop user USERNAME cascade; --删除表空间 drop ta ...

  3. NSTimer注意内存泄露(真该死)

    NSTimer可以用来执行一些定时任务,比较常用的方法就是: + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTar ...

  4. appium----基本概念

    转:http://www.cnblogs.com/nbkhic/p/3803830.html Client/Server Architecture appium的核心其实是一个暴露了一系列REST A ...

  5. JAVA、Android与Cordova环境搭建

    一些坑(如Manager.exe闪退的问题)请查看:https://www.cnblogs.com/CyLee/p/9911195.html 官方网址: # Cordova http://cordov ...

  6. js中有特殊字符的编码格式

    在get和post方法中,如果传入的参数值有特殊字符,如:“&”,在get中的url需要拼接,可以使用encodeURICompontent来编码来转化 回调就是在上面传递实际参数,传递给aj ...

  7. Python基础之函数与装饰器

    阅读目录 一.为什么要使用函数 二.函数的定义与调用 三.函数返回值 四.函数的参数 五.本章小结 六.装饰器 一.函数流程图: 函数名的命名规则: 1.函数名必须由字母下划线数字组成,不能是关键字和 ...

  8. poj 2762 Going from u to v or from v to u?(强连通、缩点、拓扑)

    题意:(理解错了)在一个洞穴中有多个room,要求任意选两个room:u.v,都能保证u.v之间有通路,注意洞穴中的路是有向边.. 分析:强连通子图中的点必然两两之间可以互通,两个强连通子图之间有通路 ...

  9. spring boot 集成mybatis报错

    Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of ...

  10. 你不知道的Google Search

    0.导读 这篇文章讲了这三个事儿: 如何訪问Google?----------什么?不是直接输入地址么? Google的地址是什么? ------ 你在逗我?难道不是www.google.com? G ...