`
cxh116
  • 浏览: 76803 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

RUby代码块中的return

阅读更多
看代码
def hello
  1.times do |i|
    return 100
  end
  1000
end

puts hello


结果打印出来的是100,而不是1000
也就是代码块中的return 不止使用语句从迭代器中的代码块返回,而且使语句从返回到hello方法的调用
0
2
分享到:
评论
1 楼 dtzq01 2011-04-26  
准确的说,是return之后方法就退出了。
def test
  puts '####'
  1.times{return 'A'}
  puts 'here'
end
puts test

结果:
####
A

相关推荐

    深入理解Ruby中的代码块block特性

    ### 深入理解Ruby中的代码块block特性 在Ruby编程语言中,代码块(block)是一种非常重要的概念,它不仅频繁地出现在各种程序中,还具有独特且强大的功能。本文将详细介绍Ruby中的代码块特性,包括其定义、用法以及...

    Ruby中的return、break、next详解

    在Ruby编程语言中,`return`、`break`和`next`是三个关键的控制流程语句,它们各自有着特定的用途,特别是在处理代码块(如循环和块方法)时。下面将详细介绍这三个关键字的工作原理及其区别。 1. `return` `return...

    Ruby编程中关于中断和返回的用法教程

    在异常处理的`ensure`块中,`return`同样会结束方法,但`ensure`的代码块会确保被执行。在`ensure`内部的`return`则会覆盖之前的返回值。 当`return`在代码块(如`Proc`或`Lambda`)内部使用时,其行为有所不同。在...

    Ruby编程.pdf

    Ruby中的代码块是一种特殊的语法结构,可以作为参数传递给方法。迭代器(如`each`、`map`和`select`)通常接受代码块作为参数,并基于代码块执行特定的操作。 ### 结论 通过上述总结,我们可以看出Ruby语言具有...

    Ruby-ngxruby是嵌入ruby脚本的Nginx模块

    4. **Nginx配置**:在Nginx配置文件中,你可以定义多个`ruby`块,每个块包含一个或多个Ruby语句或函数。例如,你可以使用`return`语句来改变HTTP响应,或者使用`set`指令来设置变量供后续处理使用。 5. **变量与上...

    Ruby语言中文教程

    闭包是指能够访问其定义时作用域的代码块,即使在定义它的上下文之外也能保持对变量的访问。Ruby的块、Proc和Lambda都是闭包的实现形式。 八、元编程 Ruby的元编程能力强大,允许在运行时修改类和对象。`class ...

    ruby-使用ruby实现的排序算法-sorting.zip

    在Ruby编程语言中,排序算法是数据处理和分析的核心部分,它们用于组织和优化数据结构。本资源"ruby-使用ruby实现的排序算法-sorting.zip"聚焦于如何使用Ruby实现不同的排序算法,这对于Ruby开发者来说是一项重要的...

    GitHub倡导的Ruby代码编写风格总结

    7. **多行代码块**:使用花括号`{}`包裹多行代码块,提高代码可读性。 8. **不必要的返回**:避免在可以推断出返回值的地方使用`return`。 9. **行连接**:不推荐使用反斜杠`\`连接多行代码,而是使用换行和适当的...

    Ruby语言规范

    - **使用`return`**:方法中有返回值时,明确使用`return`关键字。 **示例**: ```ruby def add(x, y) return x + y end ``` ##### 条件分支 - **简化条件**:简化条件表达式,如使用`unless`代替`if !`,以提高...

    Ruby Sheet.pdf

    - **begin/end**:定义一个代码块,其中可以包含异常处理。 - **break**:跳出循环。 - **case/when/else/end**:多条件分支语句。 - **class**:定义一个新类。 - **def**:定义一个方法。 - **defined?**:检查一...

    Ruby语言入门教程v1

    Proc和Lambda是Ruby中两种可存储代码的对象,它们都可以代表一个块,但行为上有所不同,特别是对参数数量和return语句的处理。 元编程: Ruby的元编程能力非常强大,允许在运行时动态修改或创建类和方法。这种能力...

    react-reactrubychina是一个利用Reactjs实现的RubyChina社区克隆项目

    组件是React应用中的独立、可重用的代码块,它们可以像JavaScript函数一样接收任意的输入(称为“props”),并返回React元素,描述应该在屏幕上看到什么。在"react-ruby-china"项目中,可能有如登录组件、讨论板块...

    Ruby基础语法使用方法全套讲解,风格讲解指南大全

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法著称。在这个"Ruby基础语法使用方法全套讲解,风格讲解指南大全"中,我们将深入探讨Ruby...通过深入学习和实践,你将能够编写出高效、优雅的Ruby代码。

    ruby 程序设计

    - **概念**:代码块是Ruby中的一种匿名函数,可以在方法中传递和执行。 - **示例**:`[1, 2, 3].each { |x| puts x }` ##### §5.2 迭代器(Iterator) - **概念**:迭代器是一种特殊的代码块,用于遍历集合中的元素...

    Ruby中的Proc类及Proc的类方法Proc.new的使用解析

    Ruby中的Proc类是用于封装代码块(block)的对象,它允许你像操作对象一样操作代码。Proc类提供了创建和管理代码块的能力,特别是在需要在不同的上下文中调用或传递代码块时非常有用。 Proc可以通过`Proc.new`类...

    Ruby Source Code

    Proc对象可以捕获代码块并存储为变量,之后在需要的地方调用。`yield`关键字用于在迭代器内部调用代码块。 4. **元编程**:Ruby的元编程能力强大,可以操作自身代码。例如,`method_missing`方法允许你在类中处理...

    ruby 知识总结

    - **Blocks**:Ruby中的块是匿名代码块,可以通过 `do..end` 或 `{..}` 语法定义。块常用于迭代或与方法配合,如 `each`,允许用户自定义处理每一步的操作。 - **Procs**:Procs 是可以存储和传递的代码块,类似于...

Global site tag (gtag.js) - Google Analytics