Articles of итератора

что такое икома kotlin для эквивалента этого итератора python

Вопрос в том, как создать в Kotlin питон, такой как итератор. Рассмотрим этот код python, который разбирает строку в подстроках: def parse(strng, idx=1): lst = [] for i, c in itermarks(strng, idx): if c == '}': lst.append(strng[idx:i-1]) break elif c == '{': sublst, idx = parse(strng, i+1) lst.append(sublst) else: lst.append(strng[idx:i-1]) idx = i+1 return lst, […]

Как изменить префикс последовательности Kotlin, но сохранить хвост?

Kotlin предоставляет методы take и takeWhile которые позволяют первыми брать n элементов Sequence<T> и обрабатывать их отдельно в качестве другой последовательности, например, drop некоторые из них, map другие значения и т. Д. Но когда я использую take и takeWhile , хвост последовательности отбрасывается. Теперь, учитывая однажды ограниченную последовательность, как я могу преобразовать свой произвольный префикс […]

Возвращать двойной индекс элемента коллекции при повторении

В документации Котлина я нашел следующий пример: for ((index, value) in array.withIndex()) { println("the element at $index is $value") } Возможно ли (и как) сделать аналогичное с 2D-матрицей: for ((i, j, value) in matrix2D.withIndex()) { // but iterate iver double index: i – row, j – column if (otherMatrix2D[i, j] > value) doSomething() } Как […]