Как заменить только обязательные поля в Groovy - PullRequest
1 голос
/ 28 декабря 2011

У меня есть два списка:

a = [1,2,3]
b = ["?",1,2,"?",4,"?"]

Во втором списке мне нужно заменить первый "?" на первый элемент (например, a[0]), а второй "?" на a[1] и т. Д. (При условии, что число "?" = размер a) и результат с изменениями b.

Как я могу сделать этот отличный способ?

Заранее спасибо.

1 Ответ

4 голосов
/ 28 декабря 2011

Некоторые простые решения:

Возвращает результат в новом списке (вы можете присвоить этот результат переменной b)

def i = 0
b.collect { it == "?" ? a[i++] : it }

Это изменяет список, на который ссылается b

a.each { b[b.indexOf("?")] = it } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...