为什么grep在Groovy依赖项上找不到匹配项?



有人知道为什么下面的代码返回一个空数组吗?谢谢。

groovyc_deps = Buildr::Groovy::Groovyc.dependencies
groovy_jar = groovyc_deps.grep /.*groovy.*.jar/
p groovy_jar # => []

因为Groovyc.dependencies返回的是Artifact的数组,而不是字符串。

试试下面的

groovyc_deps = Buildr::Groovy::Groovyc.dependencies
groovy_jar = groovyc_deps.select { |a| a.to_s =~ /.*groovy.*.jar/ }

在匹配正则表达式之前将工件转换为字符串。

最新更新