`
minstrel
  • 浏览: 48288 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ruby学习笔记--Blocks

阅读更多

Proc的两个使用方法

ruby 代码
  1. def some_mtd1 aproc     
  2.   aproc.call     
  3. end     
  4. some_mtd1 lambda { puts "aaaaa" }   
  5.  

 这个代码等同于下面这个代码段

ruby 代码
  1. def some_mtd2 &bproc        
  2.   bproc.call        
  3. end        
  4. some_mtd2 { puts "aaaaa" }     

 也等同于下面代码

ruby 代码
  1. ab = lambda { |x| puts x }      
  2. ab.call 'aaaaa'   

c = lambda { |i| puts i }
c = Proc.new { |i| puts i }
c = proc { |i| puts i } 

The above 3 statements do the same thing: instantiate a block object. ‘proc’ is an alias for ‘lambda‘ and they work slightly different than ‘Proc.new‘. In Ruby 1.9, ‘proc’ will probably be an alias for ‘Proc.new‘ instead.

分享到:
评论

相关推荐

    scratch-blocks-develop.zip

    `scratch-blocks-develop.zip`是一个压缩包,包含了已经编译过的`scratch-blocks`源代码。源码通常指的是编程语言的原始文本文件,包含可读的指令,供开发者理解和修改。这个压缩包中的源码已经过编译,意味着它已经...

    ruby笔记1ruby笔记1ruby笔记1

    标题中的"ruby笔记1ruby笔记1ruby笔记1"暗示了这是一份关于Ruby编程语言的学习笔记,可能包含了作者在学习过程中的重点、难点以及心得体验。描述中的内容重复了标题,进一步强调了这是关于Ruby的深入学习记录。标签...

    ruby-1.8.6-p114.tar.gz

    它支持块(blocks)、闭包(closures)、动态类型和垃圾回收机制。此外,Ruby强调程序员的生产力和代码的可读性,提倡“代码就是文档”的理念。 6. **Rails框架**:Ruby 1.8.6时期的Ruby on Rails是一个非常流行的...

    ruby-language-quickref.zip_About Language

    3. **块、 Proc 和 Lambda**:Ruby支持代码块(blocks),它们是通过`do..end`或花括号`{}`定义的一段代码,可以作为参数传递给方法。Proc和Lambda是代码块的两种可存储形式,它们可以捕获上下文并作为对象进行操作...

    Python库 | format-blocks-0.1.2.tar.gz

    "format-blocks-0.1.2.tar.gz" 是一个与Python相关的压缩包,其中包含了一个名为 "format-blocks" 的库的0.1.2版本。这个库可能专注于文本格式化或处理代码块的特定任务。 首先,让我们了解一下`.tar.gz`文件。这是...

    FHOG多通道融合特征提取学习笔记---qw2017.5.91

    这个学习笔记主要涵盖了FHOG特征提取的关键步骤,具体包括以下几个方面: 1. **梯度计算**: 梯度计算是FHOG的第一步,用于获取图像的局部变化信息。通过使用一维离散微分模板(如Sobel或Prewitt滤波器),可以...

    MPLAB-Device-Blocks-for-Simulink-master_matlab_源码

    在MATLAB的广阔世界中,MPLAB-Device-Blocks-for-Simulink-master是针对Microchip微控制器的一种强大工具集,专为Simulink环境设计。这款开源项目为工程师们提供了在Simulink中直接模拟和设计Microchip器件的能力,...

    AI-Blocks-master_opengl_python_ThingThing_AI-Blocks_

    标题 "AI-Blocks-master_opengl_python_ThingThing_AI-Blocks_" 暗示这是一个与人工智能相关的项目,可能是一个使用Python编程语言实现的图形用户界面(GUI)应用,它利用了OpenGL进行图形渲染,并且可能与一个名为...

    PyPI 官网下载 | eks-spot-blocks-0.2.97.tar.gz

    《PyPI与eks-spot-blocks-0.2.97:Python在云原生环境中的分布式解决方案》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python程序员提供了海量的第三方模块和库,使得开发变得更加便捷...

    gulp-remove-debug-blocks-源码.rar

    《深入解析gulp-remove-debug-blocks源码》 在前端开发过程中,为了调试代码,我们常常会在JavaScript文件中插入一些debug语句,如console.log()、debugger等。然而,在生产环境中,这些语句往往是不必要的,因为...

    swagger-blocks, 定义和服务 ruby 应用程序的动态更新 Swagger.zip

    swagger-blocks, 定义和服务 ruby 应用程序的动态更新 Swagger Swagger::Blocks Swagger::Blocks 是一个用于纯 ruby 代码块的DSL,可以转换为 JSON 。它帮助你以 Swagger 风格编写API文档,然后自动构建与 Swagger ...

    Ruby-Project-2

    可数方法这是Advanced Building Blocks项目,重点在于使用可枚举的方法。克隆和安装将此存储库克隆到本地计算机。 为此,请单击文件列表右上方的绿色“代码”按钮,然后在提示中复制链接。 然后,在终端中运行以下...

    scratch-blocks源码编译1

    ### Scratch-Blocks源码编译指南 #### 一、前言 本文将详细介绍如何从源码编译Scratch-Blocks的过程。Scratch-Blocks是一款基于Google的Blockly项目的可视化编程库,用于构建像Scratch这样的图形化编程环境。通过...

    Python库 | eks-spot-blocks-0.2.105.tar.gz

    《Python库eks-spot-blocks-0.2.105详解》 eks-spot-blocks-0.2.105.tar.gz是一个针对Python开发的库,主要服务于后端开发领域。这个库的名称暗示了它可能与Amazon Elastic Kubernetes Service (EKS) 和Spot ...

    PyPI 官网下载 | cmsplugin-blocks-0.1.1.tar.gz

    标题中的"PyPI 官网下载 | cmsplugin-blocks-0.1.1.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的开源软件包。PyPI是Python社区广泛使用的资源库,开发者可以在这里发布自己的Python模块、库或者工具...

    Python库 | eks-spot-blocks-0.2.249.tar.gz

    《Python库eks-spot-blocks-0.2.249详解》 eks-spot-blocks-0.2.249.tar.gz是一个针对Python开发者的库,它为Amazon Elastic Kubernetes Service (EKS) 提供了对Spot实例的支持。在深入探讨这个库之前,先了解一下...

    grapesjs-blocks-basic:GrapesJS编辑器的基本块

    GrapesJS基本块该插件包含GrapesJS编辑器的一些基本块概括插件名称: gjs-blocks-basic 块: column1 , column2 , column3 , column3-7 , text , link , image , video , map选项选项描述默认blocks 要添加...

    Python库 | eks-spot-blocks-0.2.69.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:eks-spot-blocks-0.2.69.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    webpack-blocks-ts:使用ts-loader的TypeScript的替代Webpack块

    webpack-blocks-ts与Webpack 4.0和webpack-blocks 1.0兼容。 如果您需要使用旧版本的webpack-blocks,请使用此软件包的1.0.0早期版本。 项目状态 该项目目前正在寻找维护者。 公关被接受,并且在没有过多审查的情况...

    Built-In Building Blocks.dotx

    Built-In Building Blocks.dotx office2016 .

Global site tag (gtag.js) - Google Analytics