问题标签 [expandometaclass]

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 投票
8 回答
69120 浏览

java - 从groovy中的列表创建地图的快捷方式?

我想要一些排序方法:

鉴于 GDK 的方式,我希望能够执行以下操作:

但我没有在文档中看到任何内容......我错过了什么吗?还是我太懒了?

0 投票
1 回答
3282 浏览

groovy - Groovy 扩展元类

我开发了一个类,它有一些增强整数的方法,它主要让我这样做:

现在我必须扩展 Integer.metaClass 做这样的事情:

我试着把它放在文件的底部,在 Money 类声明之前,但是编译器说一个名为 Money 的类已经存在,我知道它为什么会发生(因为 groovy 创建了一个带有空静态文件名的类void main 运行此代码)。

我还尝试在类中使用静态块,如下所示:

这都不起作用。

第三种解决方案是更改文件名(如 MoneyClass.groovy)并保留类名(类 Money),但这似乎有点奇怪。

还有什么我可以做的吗?谢谢。

0 投票
1 回答
2343 浏览

grails - run-app 和 run-war 之间的 Grails 行为差异

我对 Groovy 和 Grails 比较陌生,我会在业余时间尝试它们。我有一个小型测试 Grails 应用程序,我可以使用 运行良好grails run-app,但grails run-war会导致错误。

在该grails-app/conf/BootStrip.init方法中,我在 and 上添加了一些属性获取DefaultGrailsControllerClassDefaultGrailsApplication

在我的grails-app/views/layouts/main.gsp,我使用这个:

这在 下运行良好run-app,但在 下运行run-war,我得到以下信息:

我已经在 Grails 1.1.1 和 1.2-M1 下尝试过这个并得到相同的结果。我已经验证了该BootStrap.init方法正在被调用(通过 a println),但是metaClassrun-war.

知道我错过了什么吗?

0 投票
1 回答
617 浏览

groovy - 如何在 groovy 中为类添加新的闭包

来自Snipplr

好的,这是脚本代码,评论中是问题和抛出的异常

0 投票
1 回答
2198 浏览

unit-testing - 在 Groovy 中,什么时候使用 Expando 与 'as' 运算符和闭包比较有意义?

Groovy 是一种很棒的语言,它提供了许多不同的选择。

在考虑单元测试时,什么时候使用 Expando 对象而不是带有闭包的“as”运算符?

http://groovy.codehaus.org/Developer+Testing+using+Maps+and+Expandos+instead+of+Mockshttp://groovy.codehaus.org/Developer+Testing+using+Closures+instead+of+模拟

对于简单的情况,它们的使用似乎非常相似。

谢谢!

0 投票
2 回答
2318 浏览

groovy - 通过 Groovy 中的嵌套闭包传递委托

我正在创建一个接受 Groovy 闭包作为标记的构建器。但是,我无法使用嵌套闭包捕获方法调用。

有什么方法可以为嵌套闭包设置委托属性?

0 投票
1 回答
695 浏览

groovy - 在哪里正确初始化 Groovy 元类?

在 Groovy 应用程序中,如果您想初始化元类,那么在哪里放置这些初始化的最佳位置?在 Grails 应用程序中,我使用了 Bootstrap.groovy 文件。任意 Groovy 应用程序是否有类似的东西?

编辑:为了澄清,我正在寻找一种非侵入性的方法来保证它在运行主应用程序以及相关代码的单元测试时被调用。

0 投票
1 回答
344 浏览

groovy - ExpandoMetaClass - 静态方法 + 单例 + 重载函数

使用 ExpandoMetaClass 静态方法可以动态添加,我如何在 Singleton 对象中使用这个 ExpandoMetaClass,其中有重载的静态函数,假设示例程序需要使用 ExpandoMetaClass 重写下面程序中需要更改的地方

0 投票
1 回答
102 浏览

groovy - 在常规打印结果和空值中使用 ExpandoMetaclass

当我尝试使用 expandometaclass 技术运行时,示例程序给我两个输出,一个是所需的结果,第二个是“null”作为输出,从哪里拾取 null?

输出:

为什么这个程序也打印 null 作为输出

0 投票
1 回答
10127 浏览

groovy - 使用 gmaven 插件获取 org.codehaus.groovy.control.MultipleCompilationErrorsException

这是我的示例程序,在使用 mvn 编译时它会抛出编译错误,我正在尝试使用 ExpandoMetaClass 添加静态方法 -

我正在使用 gmaven 插件编译项目,同时发出 mvn compile ..........

这是我的 pom.xml 条目 gmaven 构建插件条目