问题标签 [groovy-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
392 浏览

groovy - 有没有办法使用 Groovy 2.0 Extensions 添加构造函数

在较旧的 (1.xx) 版本的 Groovy 中,您可以使用 metaClass.constructor 添加构造函数

有没有办法使用新的 Groovy 2.0 扩展模块注册构造函数?

这似乎有效:

为 Groovy 2 定义一个扩展类,只需在静态初始化程序中添加构造函数

0 投票
1 回答
110 浏览

grails - 实例化了一个类,但它似乎引用了 null

我正在尝试实例化一个对象并在其上设置一个属性,该属性来自请求参数,如下所示:

这是我在控制台中的输出:

请求中的问题文本:测试这是我们的 questionroosearch.SurveyQuestion:null

这是SurveyQuestion课程:

以上似乎可以编译,但是当我在操作结束时进行重定向时,我得到了更多的类转换异常,我相信这是由于实例化和设置 that SurveyQuestion,好像我注释掉上面我没有得到这种失败行为。

我是否正确实例化了 SurveyQuestion 对象?为什么当我将它打印到控制台时它显示为空?这是正常的行为吗?至少我希望它像 Java 那样打印对象引用?

谢谢

0 投票
2 回答
1072 浏览

performance - Groovy @CompileStatic 和 Grails

查看 DZone 上关于使用 @CompileStatic 注释编译时使用 Groovy2 提高性能的文章,我想知道我可以在多大程度上利用它?我猜是注释控制器、域对象和服务?编译应用程序时,Grails 默认会利用它吗?

链接到文章。

0 投票
2 回答
2921 浏览

groovy - 如何迭代列表并删除匹配项以创建新列表

我是 groovy 列表的新手,我的列表如下所示:

我希望fileList拥有最新的文件

  1. 它不应该有相同类型的项目
  2. 它应该具有最高版本的文件意味着,如果两个或多个文件具有相同的类型,则列表必须具有最高版本的单个文件。

我如何在 Groovy 中做到这一点?

0 投票
1 回答
1324 浏览

types - Groovy 混合类型

我看到从 Groovy 2.0 开始,可以TypeChecked向类或方法添加注释以触发可选的静态检查

我必须承认,我对这样的事情如何运作感到困惑。文章给出了简单的例子,例如

在这种情况下,很明显某些检查会失败。但在一般情况下,会A在类型检查的方法内部使用方法的返回值,即未类型检查的返回值B。在这种情况下,我看不到编译器如何确定方法B类型是否一致,因为它没有足够的关于方法返回值的信息A

一般而言,如何在不丢失类型安全的情况下对代码子集启用类型检查?

编辑

我试着举个例子。如果我有一个旧班级怎么办

并尝试从经过类型检查的代码中使用它,例如

编译器只是不知道该怎么做,我猜它会编译失败(我这里没有安装 Groovy2 来检查)。但如果是这种情况,那么使用任何在 Groovy2 之前编写的代码都会成为问题。所以我想象一些更复杂的事情已经完成,但我不确定是什么。

0 投票
1 回答
3324 浏览

grails - 混合同名的私有和公共/受保护方法会导致多方法被禁用,并且被禁止以避免出现意外行为

我刚刚将我的一个 Grails 应用程序升级到使用 Groovy 2.0 的 2.2.0,现在我得到了这个编译错误:

混合同名的私有和公共/受保护的方法会导致多方法被禁用,并且被禁止以避免令人惊讶的行为。重命名私有方法将解决问题。

基于以下代码:

这是一个简单的解决方法,但我真的很想更好地理解为什么。谁可以给我解释一下这个?

0 投票
2 回答
8482 浏览

groovy - 如果我也在使用 Java 7,我应该使用 Groovy 的 @CompileStatic

我已经阅读了“Groovy 2.0 中的新增功能”,但对于何时使用 @CompileStatic 感到有些困惑。文章提到,@CompileStatic注释是为无法利用 Java7 的调用动态部分的开发人员添加的。

因此,如果无法在 JDK 7 上运行,寻求性能改进的开发人员不会在 Groovy 2.0 中看到太多变化。幸运的是,Groovy 开发团队认为这些开发人员可以通过允许类型检查获得有趣的性能提升以及其他优势静态编译的代码。

我的问题是,如果我使用的是 JDK 7 并按照说明添加--indy标志,是否需要添加@CompileStatic才能看到一些性能提升? 这个博客建议我这样做,但我不确定他是否正确编译,因为他是在 Eclipse 中完成的。

更新:以下是运行斐波那契代码的不同排列时的统计数据。

注意:这个问题现在似乎有点令人困惑,因为我知道这些功能是独立的。由于问题的基础是围绕使我认为这两个功能相关的注释中的混淆,我认为不更改问题措辞并允许解释差异的公认答案是有意义的。

0 投票
2 回答
5059 浏览

logging - 如何在 groovyConsole 中显示 HTTPBuilder 日志

问题

我正在获取groovyx.net.http.HttpResponseException: Not Found并希望查看来自HTTPBuilder. 我将Groovy 2.1.9groovyConsole.

我试过的

所以我查看了这篇关于添加log4j.xmlgroovy.home/conf/. 我做到了,这是我的文件:

这是我在控制台中运行的脚本:

编辑:我的 HttpResponseException 已解决,我/在请求中有一个不必要的,但仍然没有出现生成器日志。

0 投票
0 回答
91 浏览

groovy - Groovy 版本的生命周期结束/支持?

我不确定以前是否有人问过这个问题。只是想知道各种 Groovy 版本是否有终止生命/支持的具体日期?例如。v2?