`
Anleb
  • 浏览: 32979 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby的redo和retry 回顾

阅读更多
ary=[1,2,3]
ary.each do |i|
    puts i
    i+=1
    redo if i==2
end


输出:1 2 2 3


redo做的动作是:条件满足,则以当前的条件重复一次{ block}的动作,当前的条件包括(当前的变量值)


ary=[1,2,3]
ary.each do |i|
    puts i
    i+=1
    retry if i==2
end


输出:死循环 1


这里我们没有看到 i+=1,输出 2,说明,retry的重复动作包括从{block}外开始,包括i的值。
分享到:
评论

相关推荐

    ruby学习的源码

    - 控制结构:包括条件语句(如if、unless)、循环(如for、while、until、each)和流程控制(break、next、redo、retry)。 2. **Ruby on Rails核心概念**: - ActiveRecord:Rails的ORM(对象关系映射),它将...

    Ruby编程Ruby Programming

    - **流程控制**:`break`、`next`、`redo`、`retry` #### 2.3 函数与模块 - **函数(方法)**:定义函数使用`def`关键字。 - **模块**:用于组织代码,避免命名冲突,可通过`include`引入模块。 ### 三、面向对象...

    ORACLE 修改redo日志文件 大小的方法

    本文将深入探讨如何在Oracle环境中修改redo日志文件的大小,以及这一操作的具体步骤和注意事项。 ### 一、理解redo日志文件 在开始修改redo日志文件大小之前,首先需要了解redo日志文件的基本概念。redo日志文件是...

    Ruby基础教程,RUBY入门必备啊~

    Ruby的控制结构包括条件语句(如if、unless、case)、循环(如while、for、each)和流程控制(如break、next、redo、retry)。Ruby还支持块(Block),这是通过花括号或do...end包裹的一段代码,常与迭代器配合使用...

    Ruby编程语言教学资源压缩包

    1. **基础语法**:包括变量(局部变量、实例变量、类变量和全局变量)、常量、符号、数组、哈希、字符串、条件语句(if/else、case)、循环结构(while、for、until)以及控制流语句(break、next、redo、retry)。...

    C# undo\redo框架

    - 应用程序接口:提供公共的AddCommand、Undo和Redo方法供其他部分调用。 6. **扩展性和性能考虑**: 框架应支持多种类型的命令,比如文本编辑、列表选择、绘图等。同时,为了防止内存消耗过大,可以设定撤销/...

    C#做的简单的Undo、Redo功能的实现

    在编程领域,撤销(Undo)和重做(Redo)功能是用户界面中常见的操作,它们允许用户取消或恢复最近的更改。在C#中,我们可以利用.NET框架提供的事件驱动和面向对象特性来实现这样的功能。这篇实验主要探讨了如何在...

    Ruby编程语言中基础和高级控制结构详解

    本文详细介绍了Ruby编程语言中的基础和高级控制结构,包括条件语句(if、unless)、循环语句(while、until、for)、迭代器(each、map、select),以及模式匹配(case)、跳转控制(next、retry、break、redo)、...

    Ruby语言入门教程

    它还包括条件判断语句(单行和多行if、unless、case)和循环语句(while、until、for…in),以及循环控制关键字(break、next、redo、retry)和一些基础练习。 在面向对象编程的基础概念方面,教程会讲解对象、...

    Ruby语言中文教程.rar

    Ruby的流程控制还包含break、next、redo和retry关键字。 4. **面向对象编程**:Ruby是一种纯面向对象的语言,每个值都是对象,包括基本数据类型。类(Class)是创建对象的模板,对象通过方法(Method)进行交互。Ruby...

    ruby初级中文教程与实例

    3. 控制结构:包括条件语句(if/else/elsif)、循环(while/until、for、each)、开关语句(case/when)以及break、next、redo和retry等控制流程关键字。 4. 函数和方法:Ruby中的函数定义使用`def`关键字,可以...

    Ruby语言入门教程v1.0.pdf

    3. 控制结构:包括条件语句(if/else、unless)、循环(while、for、times)和流程控制(break、next、redo、retry)。 4. 函数:Ruby中的函数定义使用`def`关键字,可以返回多个值,支持块(block)和 Proc 对象。...

    ruby完全自学手册的源代码

    3. **控制结构**:包括条件语句(if/else/elsif)、循环(while/until、for、each)和流程控制(break、next、redo、retry)。 4. **函数和方法**:掌握如何定义和调用方法,以及如何使用块和 Proc 对象。 5. **...

    多步Undo_Redo的实现

    - `CEditRecord` 类是从 `CObject` 继承而来,它定义了一个纯虚函数接口 `Undo()` 和 `Redo()`,用于执行具体的撤销和重做逻辑。 - 每当用户执行一个新的操作时,都会创建一个继承自 `CEditRecord` 的子类实例来记录...

    40 重新回顾redo日志对于事务提交后,数据绝对不会丢失的意义.pdf

    在数据库系统中,事务确保了操作的原子性、一致性、隔离性和持久性,而redo日志则是实现这些特性的关键技术之一。 当用户执行诸如增、删、改等DML操作时,MySQL首先在内存中的Buffer Pool中对缓存页进行更新。...

    3000帧动画图解MySQL为什么需要binlog、redo log和undo log.doc

    MySQL为什么需要binlog、redo log和undo log的知识点总结 MySQL数据库管理系统需要binlog、redo log和undo log三个重要的日志系统,以确保数据的一致性和持久性。下面是对这些日志系统的详细解释: 为什么需要分层...

    Oracle DG下修改redo log和standby redo log日志大小.txt

    Oracle DG下修改redo log和standby redo log日志大小.txt

    ruby中文教程(源代码)

    - 控制结构:包括条件语句(如`if`、`unless`)、循环(`for`、`while`、`until`、`each`)和流程控制(`break`、`next`、`redo`、`retry`)。 - 函数与方法:Ruby中的函数被称为方法,可以定义在类或模块中,支持...

Global site tag (gtag.js) - Google Analytics