Строка 'Slice' в Groovy с шагом - PullRequest
0 голосов
/ 06 июля 2018

Есть ли способ нарезать строку в Groovy шаг за шагом? Как мы делаем в Python.

Пример:

>>> name = "Daniella"
>>> name[1:7:1] #start:end:step
'aniell'
>>> name[1:7:2]
'ail'

В Groovy:

groovy>name = "Daniella"
groovy>name[1..7]
'aniella'

Есть ли здесь опция шага?

1 Ответ

0 голосов
/ 06 июля 2018

В Groovy нет специального синтаксиса срезов; name[1..7] это просто подписка с диапазоном .

И, как вы можете видеть, диапазоны не могут определять шаги.

Итак, здесь нет эквивалента синтаксису Python; вам нужно будет сделать немного больше работы.

Один из вариантов - использовать метод List.step в диапазоне:

(1..7).step(2)

… или даже step непосредственно на стартовом номере:

1.step(7, 2)

Другой вариант - применить поэлементную операцию к диапазону:

(1..14)*.div(2)

И, вероятно, есть еще полдюжины других способов сделать это, но ни один из них не настолько тривиален, как то, что вы можете сделать в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...