Преобразовать список в перечислимый список в Groovy - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть список строк этого типа:

list = ['AB-000 Some text', 'AB-003 Some other text', 'AB-004 Some more text']

Как мне перечислить этот список (используя Groovy), то есть получить следующее:

list = ['1. AB-000 Some text', '2. AB-003 Some other text', '3. AB-004 Some more text']

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Или вы можете использовать indexed и передать ему номер, чтобы начать с

list.indexed(1).collect { idx, s -> "$idx. $s" }
0 голосов
/ 20 декабря 2018

Вы можете сделать что-то вроде этого:

list.withIndex().collect{ it, index -> "${index + 1}. ${it}" }

ОБНОВЛЕНИЕ: (Предоставлено https://gist.github.com/michalbcz/2757630)

Или вы можете придумать и на самом деле определить collectWithIndexметод:

List.metaClass.collectWithIndex = { yield ->
    def collected = []
    delegate.eachWithIndex { listItem, index ->
        collected << yield(listItem, index)
    }

    return collected 
}

result = list.collectWithIndex { it, index -> "${index + 1}. ${it}" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...