从Groovy的列表中删除空项目的最佳方法是什么? 例如: [null, 30, null] 想要返回: [30]
我正在使用groovy创build一个像"../A/B/file.txt"文件。 为此,我创build了一个service ,并将要创build的file path作为argument传递。 这个服务然后被一个Job 。 Job将执行在指定目录中创build文件的逻辑。 我已经手动创build了“A”目录。 我将如何创build“B”目录和“A”目录内的file.txt通过代码自动创build它? 在创build文件之前,我还需要检查目录“B”和“A”是否存在。
想象一下,我有这样的结构: class Foo { String bar } 现在想象我有几个Foo的实例,它们的bar值是baz_1 , baz_2和zab_3 。 我想写一个只收集包含文本baz的bar值的collect语句。 我不能得到它的工作,但它看起来像这样: def barsOfAllFoos= Foo.getAll().bar assert barsOfAllFoos == [ 'baz_1', 'baz_2', 'zab_3' ] def barsWithBaz = barsOfAllFoos.collect{ if( it.contains( "baz" ) { it } ) } // What is the correct syntax for this? assert barsWithBaz == [ 'baz_1', 'baz_2' ]
我正在写一个groovy脚本,我想通过存储在同一个文件夹中的属性文件来控制。 不过,我希望能够从任何地方调用这个脚本。 当我运行脚本时,它总是根据运行的位置查找属性文件,而不是脚本的位置。 我如何从脚本中访问脚本文件的path?
我需要在一个方法中存储一个variables的值,然后我需要在另一个方法或闭包中使用该variables的值。 我怎样才能分享这个价值?
我读过如何简单地导入另一个groovy脚本中的groovy文件 我想在一个groovy文件中定义通用函数,并从其他groovy文件中调用这些函数。 我知道这将使用Groovy像一个脚本语言,即我不需要类/对象。 我正在尝试像常规技术,可以在groovy做。 所有的variables将从Java断言,我想要在shell中执行groovy脚本。 这可能吗? 有人可以提供一些例子。
Groovy似乎并不支持中断,而是从closures中继续。 什么是模拟这个最好的方法? revs.eachLine { line -> if (line ==~ /-{28}/) { // continue to next line… } }
假设我有 def A = "abc" def X = "xyz" 我如何创build一个Map ,而不是 def map = [A:1, X:2] 我相反,写作相当于 def map = [abc:1, xyz:2] 但是可以使用variablesA和X作为键? PS:同样的问题,地图的价值部分。
Groovy似乎在这个线程中被遗忘了,所以我只会问Groovy同样的问题。 尝试限制对Groovy核心的回答 每个答案一个function 给出一个示例和function的简短描述,而不仅仅是文档的链接 作为第一行使用粗体标题标记function 也可以看看: Python的隐藏function Ruby的隐藏function Perl的隐藏function Java的隐藏function
Groovy将execute方法添加到String以使执行的shell非常容易; println "ls".execute().text 但是如果发生错误,那么没有结果输出。 有没有一个简单的方法来获得标准的错误和标准? (除了创build一堆代码;创build两个线程来读取两个inputstream,然后使用父stream等待它们完成,然后将string转换回文本?) 有这样的事情会很高兴; def x = shellDo("ls /tmp/NoFile") println "out: ${x.out} err:${x.err}"