我是groovy和脚本新手,需要一些帮助。我该如何忽略版本?例如:我需要版本1,3,4,5并忽略2.我现在有这个:
def ignores = []
ignoreList.split(',')
if (version.contains
我正在使用此脚本从CI Bamboo版本运行。我只需要跳过特定版本的脚本,并以
格式指定该版本竹制建设计划中的'2','5','7'
答案 0 :(得分:1)
这是你想要的Groovy中的算术运算。 ;)
assert [1, 2, 3, 4, 5] - 2 == [1, 3, 4, 5]
您可以使用列表上的minus()
从版本列表中删除忽略的版本。 minus()的另一个变体也是从集合中删除集合:
assert [1, 2, 3, 4, 5] - [2, 5] == [1, 3, 4]
您还可以明确地使用.minus()
作为方法,而不使用重写的-
运算符,并最终使用相同的操作:
assert [1, 2, 3, 4, 5].minus([2, 5]) == [1, 3, 4]
来吧,说吧..... !!是的,你确实喜欢Groovy,不是吗?.. :)。
答案 1 :(得分:0)
这是您可以检查版本列表中是否有要忽略的版本。
def versionsToIgnore = [2]
if (!versionsToIgnore.contains(version)) {
// do some stuff
}
答案 2 :(得分:0)
将变量声明为
时def ignores = []
你要宣布一份清单。快速检查方法是获取其类
log.info ignores.class //log.info is used in soapUI which i am using to write this code
//returns
class java.util.ArrayList
您要做的是在列表中搜索数据,这可以通过多种方法完成,@ grantmc已经演示了其中一种方法,您也可以执行findAll或收集。
def words = ['ant', 'buffalo', 'cat', 'dinosaur']
assert words.findAll{ w -> w.size() > 4 } == ['buffalo', 'dinosaur']
def words = ['ant', 'buffalo', 'cat', 'dinosaur']
assert words.collect{ it[0] } == ['a', 'b', 'c', 'd']
可以在Enhanced Collection Methods
下的http://groovy.codehaus.org/Collections找到这些示例。该部分还说明了
可以通过@TimYates 在SO上找到FindAll的{p> Another good example除了上面显示的findAll和collect之外,还有findIndexOf,grep,any,every,min,max,flatten,intersect,disjoint,sort,join等方法。只需查看GDK doco即可了解更多详情。您可能希望查找添加的Collection,List和Object方法。
有关这些方法的更多详细信息,请参阅JN1015-Collections下的“快速入门指南”。