`
bma
  • 浏览: 57946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Groovy's HERE DOCUMENT and Closure

阅读更多
Something fun with Groovy's 'HERE DOCUMENT', i.e., """..."""

In groovyConsole, execute (Ctrl + R) following code:
"""
${ println "Hi" }
"""

result: Hi
Cool, isn't it?

How about this?
"""
${
class Foo{}
}
"""
No way...Why?

The curly braces denote a closure,  So, we can put anything valid in a closure into the ${} within a HERE DOC:

a = [1,2,3,4,5,6]

"""
${
a.each {print it}
}
"""

result: 123456
Wow, closure within closure. So below is nothing strange:

"""
${
println """ ${println "Can you see me?"} """
}
"""

result: yes, I can :)
分享到:
评论
1 楼 kdekid 2007-05-09  
这个语法实在是非同一般的恶心啊

相关推荐

    Groovy and Grails Recipes.pdf

    根据提供的文件信息,我们可以从《Groovy and Grails Recipes》一书中提炼出多个与Groovy语言及Grails框架相关的知识点。下面将详细阐述这些知识点。 ### Groovy编程语言 **1. Groovy简介** - **定义**:Groovy是...

    Groovy in action

    Readers are presented with rich and detailed examples illustrating Groovy's enhancements to Java, including, # How to Work with Builders and the GDK, # Database programming with Groovy, Groovy in ...

    Groovy and Grails Recipes(清晰PDF)

    ### Groovy and Grails Recipes 知识点概览 #### 一、Groovy by Example **1. Getting Started with Groovy** - **介绍**: 本章主要介绍了如何开始使用Groovy编程语言。对于初次接触Groovy的新手来说,这是一个很...

    groovy-api-chm

    例如,Groovy提供了闭包(Closure)的概念,它可以作为参数传递给函数,增强了函数式编程的能力。此外,Groovy对集合操作进行了增强,如便利的列表和映射操作,以及对Java流的支持。 学习和理解这些CHM文件中的内容...

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...

    Groovy学习资料

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

    Beginning Groovy and Grails, From Novice to Professional

    本书《Beginning Groovy and Grails, From Novice to Professional》由Christopher M. Judd、Joseph Faisal Nusairat 和 James Shingler共同编写,并得到了Grails项目负责人Graeme Rocher的前言推荐。本书主要面向...

    Learning Groovy(Apress,2016)

    You’ll see how to harness Gradle (Groovy’s build system), Grails (Groovy’s web application framework), Spock (Groovy’s testing framework), and Ratpack (Groovy’s reactive web library). ...

    Java调用Groovy,实时动态加载数据库groovy脚本

    1. 引入Groovy库:在Java项目中添加Groovy的相关依赖,通常是`groovy-all`,确保Java能够访问Groovy运行时环境。 2. 创建GroovyClassLoader:使用这个类加载器可以动态加载和执行Groovy脚本。它继承自Java的...

    Groovy Script 入门

    println "Hello, my name is $name and I am $age years old." } } def person = new Person(name: 'John', age: 25) person.sayHello() ``` 1. **定义类**:使用`class`关键字定义类,并可以定义属性和方法。 2...

    groovy-all

    10. **Testing and Debugging Tools**: 包括JUnit和Spock测试框架的支持,以及各种调试工具,便于测试和调试Groovy代码。 总之,“groovy-all-2.4.7.jar”是一个全面的Groovy运行时环境,包含了运行和开发Groovy...

    [Groovy] Making Java Groovy 英文版

    Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day to day work with Java It starts by introducing the key differences between Java and Groovy and how you...

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

    它支持面向对象编程,具备类、接口和继承等特性,并且提供了闭包(Closure)这一强大的功能,使得函数式编程成为可能。Groovy的语法简洁,比如它允许一行内定义方法,可以省略分号,甚至可以使用更自然的语言风格...

    groovy-3.0.7.msi

    groovy

    eclipse安装groovy插件的步骤

    ### Eclipse 安装 Groovy 插件的详细步骤与使用指南 #### 一、Groovy 插件的安装 为了能够在 Eclipse 中使用 Groovy 进行开发,首先需要安装 Groovy 插件。以下是详细的安装步骤: 1. **下载 GroovyEclipse.zip ...

    最新 groovy开发包

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

Global site tag (gtag.js) - Google Analytics