0

我是 groovy 的新手,这就是为什么我无法弄清楚一件事。我有一个带有 groovy 类的 ant 任务,它应该从属性文件中读取行并切换一些 property.values,例如 1 与“一”,2 与“二”等。我已经提取了这些值,所以我得到了1,2,3 等或 5,7,1 现在问题开始了 我知道 replaceAll 方法,但是有没有可能让它更灵活?或者如果我想改变 1 2 3 我必须定义 3 个 replaceAll 方法 ("1", "One") ("2","Two") ("3", "Three") ?哦,是的,仅在输出上切换值。

4

1 回答 1

3

您可以使用 acollect和 a switch(假设我理解这个问题:

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 
于 2013-05-20T10:09:22.167 回答