`

总是看到returning,这到底是个什么东东,查了一下找到了源代码

    博客分类:
  • RoR
阅读更多

A Ruby-ized realization of the K combinator, courtesy of Mikael Brockman.

ruby 代码
  1. def foo   
  2.   returning values = [] do  
  3.     values << 'bar'   
  4.     values << 'baz'   
  5.   end  
  6. end  
  7.   
  8. foo # => ['bar', 'baz']   
  9.   
  10. def foo   
  11.   returning [] do |values|   
  12.     values << 'bar'   
  13.     values << 'baz'   
  14.   end  
  15. end  
  16.   
  17. foo # => ['bar', 'baz']   
# File vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb, line 22
ruby 代码
  1. 22:   def returning(value)   
  2. 23:     yield(value)   
  3. 24:     value   
  4. 25:   end  
实际上就是把一个value放到一个block中做处理,处理完毕之后返回,就这么简单
分享到:
评论
3 楼 yangzhihuan 2008-10-10  
不好意思,鼠标坏掉了,单击变成了双击.
2 楼 yangzhihuan 2008-10-10  
原来就是这么简单,一直没留意rutruning这个家伙.
1 楼 yangzhihuan 2008-10-10  
原来就是这么简单,一直没留意rutruning这个家伙.

相关推荐

    如何在Spring Boot中使用@AfterReturning注解

    }}运行此测试类,你会看到控制台输出如下信息: ``` Query time: 2022-10-01T15:30:00.000 Returned Book: Book{id=1, title='Sample Book', author='John Doe'} ``` 这表明在 findBookById 方法成功执行并返回 ...

    Spring源代码解析

    《Spring源代码解析:深入理解Spring AOP与事务处理》 Spring框架作为Java开发中的核心组件,其强大的功能和灵活的设计思想深受开发者喜爱。要深入理解Spring,源代码解析是必不可少的一环。本文将主要围绕Spring的...

    attr_copy.rar_The Returning

    "attr_copy.rar_The_Returning"这个标题暗示我们关注的是一个与复制文件属性相关的程序或函数,可能是一个C语言编写的源代码文件,即"attr_copy.c"。这个程序的功能是复制一个属性列表,并返回所占用的字节数。 `...

    精通AspectJ_源代码

    5. **引入(Introduction)**:引入允许切面为已有类添加新的方法或属性,而无需修改原始类的源代码。 6. **声明式通知(Declaring Advice)**:AspectJ允许开发者使用注解来声明通知,使代码更简洁易读。 在...

    spring aop 实现源代码--xml and annotation(带lib包)

    在这个例子中,记录日志的代码并没有横切到我们的业务代码中,LogBeforeAdvice和HttpMessageSender彼此不知道对方的存在,而且我们的应用程序AdviceDemo对LogBeforeAdvice的存在也是一无所知。假如有一天我们的应用...

    findbugs:may expose internal representation by returning

    如果外部代码捕获了这个引用并进行修改,例如: ```java Message msg = new Message(); Object contentRef = msg.getContent(); contentRef = "新的内容"; // 修改了内部表示 ``` 虽然`contentRef`的值被改变了,...

    spring aop的一点东东

    在给定的文件名中,我们可以看到这几种类型的示例: - `before`:表示前置通知,在目标方法执行前运行。 - `after`:通常指的是后置通知,它在目标方法成功执行后运行。 - `arround`:环绕通知,可以在方法调用...

    oracle RETURNING 子句使用方法

    Oracle的RETURNING子句是数据库操作中的一个强大特性,它允许在执行INSERT、UPDATE或DELETE语句时直接获取处理的数据结果。这在处理事务时非常有用,尤其是当你需要基于新插入或更新的数据进行进一步操作时。 1. **...

    7Spring AOP盗梦空间之二——获得返回值AfterReturnning

    在本篇博文中,我们将深入探讨Spring AOP(面向切面编程)中的一个重要概念——AfterReturning通知,这是Spring框架提供的一种强大的功能,允许我们在方法成功执行并返回后执行额外的操作。我们将通过源码分析和实际...

    Python库 | django_pg_returning-1.0.0-py2.py3-none-any.whl

    python库。 资源全名:django_pg_returning-1.0.0-py2.py3-none-any.whl

    Spring源代码解析(五):Spring_AOP获取Proxy.doc

    在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许程序员在不修改原有业务代码的情况下,插入额外的逻辑或监控行为。本文将深入解析Spring AOP如何获取代理对象,即Proxy。 首先,我们需要理解AOP的...

    returning-DOM-elements-javascript-源码.rar

    标题 "returning-DOM-elements-javascript-源码.rar" 暗示了这是一个关于使用JavaScript操作和检索DOM元素的源代码集合。DOM(Document Object Model)是HTML和XML文档的结构化表示,允许通过编程方式访问和修改文档...

    Spring AOP定义AfterReturning增加实例分析

    在上面的例子中,我们定义了两个接口:Hello 和 World,这两个接口定义了业务逻辑方法,例如 foo() 和 addUser()等。 实现类 在 Spring AOP 中,需要编写实现类来实现接口中的业务逻辑方法。在上面的例子中,我们...

    王小平版遗传算法的光盘源代码

    王小平版遗传算法的光盘源代码 SGPC: Simple Genetic Programming in C by Walter Alden Tackett and Aviram Carmi (gpc@ipld01.hac.com) Version 1.1 (c) 1993 by Walter Alden Tackett and Aviram ...

    《Pro Oracle SQL》CHAPTER 9 The Model Clause -- 9.4Returning Updated Rows

    《Pro Oracle SQL》一书的第9章深入探讨了Oracle数据库中的"Model"子句,这一章节重点关注如何使用Model子句来更新数据行。在Oracle SQL中,Model子句是一种强大的功能,允许进行复杂的行处理和模拟迭代计算,通常...

    An Eco-tour of returning to nature.zip

    在这个压缩包内的文档"An Eco-tour of returning to nature.docx"中,我们可能会找到以下关键知识点: 1. 生态旅游的定义与特点:文件可能详细阐述了生态旅游的核心理念,包括它的可持续性、教育性、参与性和对当地...

    Spring aop代码

    Spring AOP(面向切面编程)是Spring框架中的一个重要组成部分,它允许程序员在不修改源代码的情况下,通过插入切面来增强程序的功能。这个压缩包文件"Spring AOP代码"很可能包含了一些示例代码,用于演示如何在...

    用Python FastAPI与PostgreSQL进行增删改查操作

    在Python开发中,FastAPI是一个现代化、高性能的Web框架,常用于构建API。结合PostgreSQL这一流行的开源关系型数据库,可以构建稳定且高效的后端服务。本教程将介绍如何使用FastAPI与PostgreSQL进行基本的增删改查...

Global site tag (gtag.js) - Google Analytics