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

Grails(Java笨狗)系列-更好的理解闭包(closure)

阅读更多

用现实生活中的示例来说明闭包

 

现在,让我们来考虑放在信封里的信纸。信纸里可能写着“x=5, y=10”等等一些内容。对于一个闭包(closure),信纸上可能写着一系列的指令。你可以把信封交给其他人,这个人可能会按照信纸上面的指令来做决定,当然,他也可能同样会把这个信封交给其他人。每次根据不同的上下文,他们可能多次的根据信纸的指令做出决定。比如:

信纸上可能写着”给你心里想着的人写一封信“,然后他会在他的地址簿里寻找他心里想着的一系列的人,最后,根据上面的指令,一个一个的给他们写信。

 

闭包(closure)等同于上面真实生活的示例,可以表示成如下的形式:

Closure envelope = { person -> new Letter(person).send() }
addressBook.each (envelope)
 

 

3
0
分享到:
评论

相关推荐

    J1_2006_Grails_PowerPoint_v1.ppt

    - **Closure Support**:Groovy中的闭包是一种强大的功能,可以用来简化复杂操作,特别是在处理函数式编程任务时。 3. **Grails框架组件** - **MVC架构**:Grails基于经典的MVC模式,分离业务逻辑、数据模型和...

    Groovy in Action[文字版][中文]

    通过阅读《Groovy in Action》这本书,你可以深入了解Groovy的这些特性和实践应用,提升你的开发技能,同时也能更好地理解如何在实际项目中利用Groovy的优势,提高开发效率和代码质量。书中的例子和实战指导将帮助你...

    groovy-all-1.8.1.jar.zip

    3. 函数式编程特性:Groovy支持闭包(Closure),这是一种强大的函数式编程工具,可以作为参数传递,也可以作为返回值。 4. 极简的面向对象:Groovy的类定义比Java更简单,可以省略public、static等修饰符,并且...

    最新 groovy开发包

    Groovy的闭包(Closure)是其核心特性之一,类似于其他语言中的lambda表达式,可以用来处理函数式编程场景。 2. **Groovy与Java的互操作性**:Groovy可以无缝地与Java代码集成,因为它们都运行在JVM上。你可以直接...

    Groovy1.8 beta 官方文档-1269页

    这一特性让Groovy代码更接近于Java,同时保留了动态语言的灵活性。 此外,Groovy1.8 beta版本加强了对Grails框架的支持。Grails是一个基于Groovy构建的开源Web应用程序框架,它简化了开发过程,提供了MVC(模型-...

    Groovy in Action

    - **内容概述**: 介绍Groovy中的闭包(closure),一种非常强大的语言特性。 - **知识点**: 闭包的概念、如何定义闭包、闭包的用途及其在函数式编程中的作用。 - **学习目标**: 学会如何使用闭包来简化代码,提高...

    groovy in action

    例如,Groovy中的闭包(closure)是其核心特性之一,它在函数式编程中扮演着重要角色,使得代码更易于理解和编写。本书将深入讲解闭包的用法及其在实际问题解决中的应用。 Groovy的另一个亮点是其对Java集合库的...

    Groovy IN ACTION

    通过阅读《Groovy in Action》,Java开发者可以拓宽视野,学习一种新的、更高效的编程方式,同时也能更好地利用Groovy的灵活性和便利性来提升开发效率。这本书不仅适合初学者入门,也对有经验的Groovy开发者提供了...

    groovy快速入门指南(中文)

    闭包是 Groovy 中的一个重要概念,类似于 Java 中的匿名内部类,但是更加强大和灵活。 **1. 定义与调用** - **基本语法** - 闭包使用 `{}` 来定义,并且可以在闭包中使用 `|` 符号来指定参数。 ```groovy ...

    groovy学习大礼包

    这可能包括闭包(Closure)的使用,元编程(Metaprogramming)的概念,GroovyShell和GroovyConsole的使用,以及如何利用Groovy进行面向切面编程(AOP)。用户指南可能还会详细解释Groovy与Java的互操作性,如何在...

    Groovy学习资料

    此外,Groovy还有闭包(Closure)的概念,这是Groovy强大的功能之一,它可以用来处理函数式编程任务,如数据过滤和映射。 其次,Groovy的动态特性是另一个关键知识点。Groovy可以在运行时改变类的结构,这意味着你...

    Groovy In Action

    例如,它提供了闭包(Closure)的概念,这在处理迭代、回调和高阶函数时非常有用。 Groovy与Java的兼容性是其一大亮点。Groovy代码可以直接调用Java库,反之亦然,这使得在已有Java项目中引入Groovy变得十分容易。...

    Groovy Refcards

    Groovy是一种强大的、面向对象的脚本语言,它在Java平台上运行,旨在提供一个更简洁、更动态的编程模型,同时保持与Java的高度兼容性。这份“Groovy Refcards”文档为我们提供了Groovy语言的基本语法和关键特性的一...

    Groovy入门]第一讲.项目演示与搭建Groovy开发环境

    Groovy是一种基于Java平台的动态编程语言,它与Java语法高度兼容,但提供了更简洁、更灵活的写法,使得开发效率得以提升。本讲主要介绍Groovy的基础知识,包括如何进行项目演示以及如何搭建Groovy的开发环境。 首先...

    Groovy InAction

    此外,书中还详细探讨了Groovy的特性,如闭包(Closure)——Groovy中的核心概念,它是函数式编程的关键元素,可以作为参数传递、返回结果,甚至用作数据结构。此外,元对象协议(Meta Object Protocol, MOP)的讲解...

    Groovy_快速入门.doc

    闭包是Groovy中的一个重要特性,类似于Java中的内部类,但是只能包含一个方法。 ##### 1. 闭包定义 - **基本格式**: ```groovy closure = { param -> println "hello $param" } ``` - **调用方式**: ```...

    Groovy in Action源代码

    源代码会展示如何在不明确类型的情况下编写代码,以及如何利用闭包(Closure)进行函数式编程。 3. **元编程**:Groovy的元编程能力让开发者可以在运行时修改类的行为。通过源代码,你可以看到如何使用MetaClass、...

    groovy代码-测试测试测试

    Groovy是一种基于Java平台的动态编程语言,它与Java语法高度兼容,但提供了更简洁的语法和更多的动态特性。在“groovy代码-测试测试测试”这个项目中,我们可以推测这是关于Groovy语言的一些测试代码或者示例。下面...

Global site tag (gtag.js) - Google Analytics