我正在使用一个包含字符串键和列表值的映射。当为每个循环使用a时,我无法使用我的字符串变量来拉列表的大小(注释掉的行)。我的输出如下:
任务:nametest
开始测试
3
NA
海
欧元
最终,我的目标是嵌套循环以打印我每个列表中的所有DC。
task nametest << {
def dcMap = [:];
def naDCs = ["10", "20", "30"];
def seaDCs = ["40", "50", "60", "70"]
def eurDCs = ["80", "90", "100", "110", "120"]
dcMap << ['NA':naDCs];
dcMap << ['SEA':seaDCs];
dcMap << ['EUR':eurDCs];
println "starting test";
println dcMap.NA.size();
def dcMapKeys = dcMap.keySet();
for (def reg : dcMapKeys){
println reg;
//println dcMap.reg.size();
}
}
答案 0 :(得分:1)
因此,您的dcMap.reg.size()
代码尝试获取与“ reg” String
对应的值,而不是def reg variable
的值。
您可以按照以下几种方法获得预期的输出:
1. println dcMap[reg].size();
2. println dcMap."${reg}".size();
3. println dcMap.get(reg).size();
使用以上任何选项。