Перейти к индексу в цикле for-in

user6724161

Скажем, у меня есть такой цикл for-in:

for index in 1...5 {

}

Допустим, я обнаружил, что в индексе 2 я хочу перейти к индексу 4 из-за некоторого условия. Следующее не работает:

for index in 1...5 {
    if index == 2 {
        index = 4
    }
}

Потому что это дает мне следующую ошибку:

Невозможно присвоить значение: 'index' - это константа 'let'

Как я могу изменить положение индекса, чтобы перейти к индексу 4?

матовый

В цикле for вы не можете перемещаться по индексу в реальном времени - то есть, если после запуска цикла вы обнаружите, что вам нужно пропустить итерацию, вы не сможете. Но вы можете избежать итерации с continue. Так например:

var skip = 0
for i in 1...5 {
    if i < skip { continue }
    print(i)
    if i == 2 { skip = 4}
}

Однако в такой ситуации вам может понравиться цикл while.

var i = 1
while i <= 5 {
    print(i)
    i += 1
    if i == 3 { i = 4 }
}

Другая возможность - развернуть исходный цикл for в цикл while:

var r = (1...5).makeIterator()
while let i = r.next() {
    print(i)
    if i == 2 { r.next() }
}

Все это способы печати 1,2,4,5.

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Почему 11010100 << 1 равна 110101000, а не 10101000?

Одд Java тройная поведение при присвоении значения. Что Java делает за кулисами, чтобы это произошло?

Java 8 - Как получить отдельные значения из Карты списков?

Как решить й - загар (х) = 0 с SymPy

Spring @Transactional последовательно откатывает транзакцию при исключении

Проверьте, все ли стороны многомерного массива NumPy являются массивами нулей

Инициализируйте массив NumPy на основе его индекса

Объявление и определение массива C ++ и Java: различия

Spring безопасности переключиться на аутентификацию Ldap и полномочия базы данных

Многоязычная база данных, с запасным вариантом по умолчанию

Как определить строку, которая содержит только пробелы?

Код драйвера в модуле ядра не выполняется?

Telegram в приложении iOS

Поиск зависимых имен в экземпляре шаблона C ++

numpy: в true_divide обнаружено недопустимое значение

Accessing NumPy array elements not in a given index list

Индексирование массива Python numpy. Как это работает?

подгонка круга к двоичному изображению

UiPickerView с настраиваемой фиксированной меткой и автоматическим размещением

Получить поле перечисления из структуры: невозможно выйти из заимствованного содержимого

CUDA compilation issue with CMake

матрица вращения в openCV

удаление записей из массива numpy

установка оберток python для vlfeat

IntelliJ Maven / Gradle Proxy ne fonctionne pas

Расположение предыдущей страницы на IronRouter

пороговая обработка изображения RGB в OpenCV

Загрузить видео из файла с помощью Kinect для Windows с SDK v2.0

Сложить весь столбец для таблицы в CSS

синхронизированное ключевое слово и блокировки методов экземпляра

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Merging legends in plotly subplot

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  5. 5

    Как в точности работает внутренний пул потоков Nodejs?

  6. 6

    ViewPager2 мигает / перезагружается при смахивании

  7. 7

    How do I search for an entry out of two SQL tables and know which table it came from?

  8. 8

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  9. 9

    Невозможно запустить iReports 5.6.0 с Netbeans 8 и JDK 1.8

  10. 10

    Как добавить заголовок в легенду для двух независимых групп, состоящих из трех подгрупп?

  11. 11

    Камунда - Фильтровать список задач по назначенной группе

  12. 12

    Проверьте, была ли новая вкладка открыта с помощью puppeteer

  13. 13

    JavaFX TextArea как установить текст с автоматическим переносом новой строки

  14. 14

    Как запустить скрипт node js из скрипта powershell и использовать вывод скрипта node js в скрипте powershell?

  15. 15

    Элемент "эллипс", созданный с помощью JS, не отображается в HTML

  16. 16

    Два ArrayList один адаптер RecyclerView

  17. 17

    Ошибка при использовании CONVERT при выборе из OPENJSON

  18. 18

    Как перезапустить приложение JavaFX при нажатии кнопки

  19. 19

    невозможно соединить intelliJ с Docker Machine

  20. 20

    Невозможно понять дерево вызовов jprofiler

  21. 21

    Slick Carousel + Проблема форматирования аккордеона

популярныйтег

файл