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

ruby 中的 block

    博客分类:
  • java
 
阅读更多
4.2 Blocks and Procs
    1)block是一组代码段(grouping statements),它根据上下文的语义执行.
    2)block 单行定义用{},多行定义使用do end
    3)可以使用yield在方法中调用多次相关的block
    如
        def call_block
            puts 'Start of method'
            yield    #在方法中调用block{puts 'In the block'}
            yield
            puts 'End of method'
        end
        call_block {puts 'In the block'}   
    4)code Block的返回值和方法类似,将最后一行的表达式作为返回值
    5)block不是对象,但可以通过kernel的lambda方法转换成Proc对象,
        然后可以通过Proc的call调用block
        prc = lambda {puts 'Hello'}  #将block{puts 'Hello'}转换成对象
        prc.call                                #调用Proc对象的call方法执行block
    注意:block有点回调函数的概念,它根据上下文执行具体的code
分享到:
评论

相关推荐

    深入讲解Ruby中Block代码快的用法

    #### Block中的变量 Block内的变量可以分为两种:局部变量和外部变量。 1. **局部变量**:这些变量仅在Block内部可见,不能在Block外部访问。例如: ```ruby [1, 2, 3, 4].each do |value| square = value * ...

    Ruby中Block和迭代器的使用讲解

    ### Ruby中Block和迭代器的使用讲解 #### Block的基本概念 Block是Ruby语言中的一个非常重要的特性,可以将其理解为一段可执行的代码片段。它能够像参数一样被传递,并且在方法调用中被激活。Block的强大之处在于...

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

    它可以用来执行Block中的代码,并且还能向Block传递参数。这使得Block可以作为回调函数来使用: ```ruby def test(&block) block.call("world") end test { |msg| puts "hello #{msg}" } # 输出: hello world ```...

    Ruby中的块(Block)特性及其应用

    内容概要:本文深入解析了Ruby中的块(Block)这一关键概念。首先介绍了块的作用,即用于封装代码片段并可以被方法调用执行。随后讲述了其主要特点,比如能够与多种方法结合使用、支持灵活的参数传递以及具有两种...

    ruby 中文文档 必备资料

    块(block)和 Proc 对象是Ruby的独特之处,它们可以用来实现迭代和回调功能。 Ruby的元编程能力非常强大,可以动态修改类和对象的行为。反射API(Reflection API)允许在运行时检查和操作对象、类和模块的内部结构...

    ruby中文文档.chm

    Ruby中的块(Block)、 Proc 和 Lambda 是其元编程能力的重要体现。它们允许你在运行时创建和修改代码,这在编写高度定制和自适应的程序时非常有用。文档会详细介绍这些概念及其在实际编程中的应用。 此外,Ruby...

    Ruby中的block、proc、lambda区别总结

    主要介绍了Ruby中的block、proc、lambda区别总结,本文讲解了yield 和 block call 的区别、block 和 proc、lambda 的区别、proc 和 lambda 的区别,需要的朋友可以参考下

    Ruby入门教程中文PDF 附实例

    此外,Ruby的块(Block)和 Proc 对象让函数式编程变得简单,例如使用`each`方法遍历数组: ```ruby fruits = ["Apple", "Banana", "Cherry"] fruits.each { |fruit| puts fruit } ``` 元编程是Ruby的另一个强大特性...

    ruby中文 文档

    5. **字符串和数组**:这两种数据结构在Ruby中非常常用,文档会解释它们的操作和方法,如拼接、查找、替换等。 6. **哈希(Hash)**:Ruby的哈希是一种关联数组,键值对的存储方式,文档会介绍如何创建和操作哈希。...

    Ruby中的block代码块学习教程

    块变量:以yield关键字调用block也可以传递参数,block中竖线(|)之间给出的参数名用于接收来自yield的参数。  竖线之间(如上例中的 | i |)的变量被称作块变量,作用和一个正常方法的参数一样 2、掌握代码块的编写 ...

    ruby中文教程(源代码)

    - 函数与方法:Ruby中的函数被称为方法,可以定义在类或模块中,支持块(block)和 Proc 对象。 2. **面向对象编程(OOP)** - 类与对象:Ruby是纯面向对象的语言,一切皆对象。你可以创建自定义类来封装数据和...

    深入理解Ruby中的block概念

    深入理解Ruby中的block概念,是理解Ruby编程的关键之一。Block在Ruby中扮演着代码块的角色,它可以被看作是高阶函数的一种特殊形式的语法。虽然Ruby不支持First-class functions,即函数不是一等公民,但block使得...

    ruby语言帮助文档(简体中文)

    Ruby中的类和模块是构建对象的基础,类用于定义对象的结构和行为,模块则用于组织代码和实现多继承。 3. **方法**:Ruby的方法可以看作是对象的行为,可以定义在类、模块或者对象上。方法调用可以用点操作符(`.`)...

    探索Ruby中的块(Block):掌握流控制的瑞士军刀

    Ruby是一种高级的、面向对象的编程语言。它由日本的开发者松本行弘(Yukihiro "Matz" Matsumoto)在1995年创建。Ruby语言的设计目标是简单、自然,同时具有强大的功能。Ruby语言受到了Perl、Smalltalk、Eiffel、Ada...

    Ruby完全自学手册

    Ruby语言非常强调代码的可读性和简洁性,因此它在Web开发、尤其是Web框架Ruby on Rails中非常流行。 Ruby语言具备以下特点: 1. 纯面向对象的语言,Ruby中的一切都是对象。 2. 动态类型,变量在使用时无需声明其...

    ruby 中文教程,张开川写的

    此外,Ruby还支持块(block)、 Proc 和 Lambda,这些都是实现回调和迭代器的重要工具。 总的来说,张开川的“Ruby中文教程”是一份全面的资源,不仅讲解了Ruby的基础知识,还提供了实践练习,帮助读者从零开始学习...

Global site tag (gtag.js) - Google Analytics