我试图执行的代码创建n(这里10)不同命名的文件夹,并在其中执行一些功能。他们应该与Jenkins结合使用,并并行执行。
问题是,下面的代码只生成“10”作为输出,而不是我所期望的从0到9的数字:
ps = [:]
for (int i = 0; i < 10; ++i) {
ps["${i}"] = {
println(i)
}
}
for (int i = 0; i < 10; i++) {
ps["${i}"]()
}
字符串
如何修改代码来打印map的索引?我想我不能把一些东西作为参数传递,因为在Jenkins中,map是通过调用
parallel ps
型
1条答案
按热度按时间bzzcjhmw1#
for
-loop中的闭包捕获的是变量i
,而不是它的值。你需要在每次迭代中创建一个新的var来捕获。字符串
随机附带说明:使用GString作为Map键是不好的(它们不是不可变的)。
如果你“groovy-fy”这段代码,它会变得更短,你不必处理这个问题。
型