作为一个新手问题,如果可以使用switch语句,可以在列表迭代器上使用匹配运算符
def myList = [1, 2, 3, 4]
myList.each {
it.match {
case /1/ => println "ONE!"
// etc.
}
}
答案 0 :(得分:1)
你的意思是:
def myList = [1, 2, 3, 4]
myList.each {
switch(it) {
case ~/1/ : println "ONE!"; break
case ~/2/ : println "TWO!"; break
}
}
(我不是时髦的专家 - 建议是可取的)
答案 1 :(得分:0)
一种常规方法是使用闭包图:
def caseMap = [ 1 : { println "ONE!" },
2 : { println "TWO!" },
]
def myList = [1, 2, 3, 4]
myList.each {
if (caseMap.containsKey(it)) {
caseMap[it]()
}
}
您可能需要在caseMap [it]周围放置一些parens。