Apache发布Groovy 2.5正式版及3.0预览版

Apache基金会最近发布了Groovy2.5,新功能包括:

\\
  • AST转换的改进\
  • 新的宏支持\
  • 其他杂项改进\

运行Groovy 2.5至少需要JDK 7,在JDK 9+上运行可以忽略良性警告。

\\

尽管最近人们把关注点转到了其他JVM语言上(如Kotlin),但Groovy仍然有很大的增长。正如Groovy提交者、OCI首席软件工程师Paul King博士在最近的一次网络研讨会上所说的:

\\
\

Groovy的下载量说明,它仍然是继Java之后JVM上第二大最受欢迎的语言,而且这个数字还在不断增加。今年第一季度,下载次数为9000万次,比去年第一季度下载次数的两倍还要多。所以我们可以看到,人们仍然对Groovy很感兴趣。

\
\\

在过去的12个月里,Groovy增加了30个新的提交者。

\\

AST转换——注解

\\

如下图所示,为了保证转换之间的一致性,对很多现有的AST转换进行了改进,并在2.5版本中添加了11个新的转换。在Groovy 3.0中添加了一个额外的转换,但在GA发布之前可能会出现更多转换。

\\

79c64800105bc010bfa702863c6dd7b4.png

\\

AST转换——宏

\\

如上所述,Groovy提供了大量的内置AST转换。开发人员也可以创建自己的自定义转换,前提是需要了解Groovy语法结构的内部表示。

\\

2.5版本中的宏功能消除了了解语法结构内部表示的需要,正如发行说明中所定义的那样:

\\
\

在创建编译时元编程扩展时,宏可以让你直接使用Groovy语法,而不是使用内部编译器表示。因此,转换的创建将掌握在所有Groovy程序员手中,而不仅仅是Groovy编译器创建者。

\
\\

例如,假设开发人员希望创建一个转换(@Info),用于生成一个方法(@getInfo())。在2.5版本之前,需要编写以下代码:

\\
\...\def clazz = new MethodCallExpression(new VariableExpression(\"this\"), \"getClass\
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值