Groovy灵活的替换方法

时间:2013-05-20 10:00:03

标签: groovy

我是groovy的新手,这就是为什么我无法解决一件事。 我有groovy类的ant任务,它应该从属性文件中读取行 并切换一些property.values,例如1表示“One”,2表示“Two”等。 我已经提取了值,所以我有1,2,3等或5,7,1现在问题开始了 我知道replaceAll方法,但有可能以某种方式使它更灵活吗?或者如果我想改变1 2 3我必须定义3个replaceAll方法(“1”,“One”)(“2”,“Two”)(“3”,“Three”)? 哦,是的,只在输出时切换值。

1 个答案:

答案 0 :(得分:3)

您可以使用collectswitch(假设我理解这个问题:

def a = [ 1, 4, 2 ]

def b = a.collect {
  switch( it ) {
    case 1  : 'One' ; break
    case 2  : 'Two' ; break
    case 3  : 'Three' ; break
    default : it
  }
}

assert b = [ 'One', 4, 'Two' ]

// And the other way

def c = b.collect {
  switch( it ) {
    case 'One'   : 1 ; break
    case 'Two'   : 2 ; break
    case 'Three' : 3 ; break
    default      : it
  }
}

assert c == a