"через" и "над" - бесполезные наречия.
Примеры:
При итерации этой коллекции мой код выдает ошибку.
Этот код выполняет итерацию коллекции.
Ваше задание - написать код, который итерирует коллекцию.
Это как сказать "на севере" или "на юге". "Вверх" и "вниз" бесполезны. Вместо этого вы должны сказать: "Я еду на север на лето" или "На юге выращивают хлопок"
.Я использую оба наугад, иногда в одном предложении. Отказ от соединительного слова - плохая грамматика, и ни то, ни другое не имеет смысла.
Я бы всегда говорил «итерация вместо », потому что это подчеркивает (относительно важный) факт, что сами итераторы не содержатся в контейнере, который является предметом итерации.
Сказать «итерация» для меня означало бы, что каждый элемент контейнера просматривал по очереди, что на самом деле не то, что происходит.
Напротив, выражение «итерация» подразумевает для меня, что каждый получает по очереди внешний дескриптор каждого элемента контейнера, что и есть на самом деле то, что происходит.
Однако нет ничего неправильного в «итерации через», и любой, кто разбирается в итераторах, наверняка поймет обе фразы.
Я бы сказал, итеративно, и я всегда видел, как это написано именно так.
Словарь говорит, что «повторять» - это переходный глагол, означающий «повторить или повторить».
Вы бы «повторили» то, что только что сказали, или «повторили бы»? Я думаю, ты бы просто повторил это. Или просто повторите его, как вам удобнее.
Сказав это, если вы используете «итерацию» как своего рода синоним «цикла» ... возможно, перебирая данные по одной итерации за раз, то, возможно, вы «повторяете». Это минное поле!
Сводный текст для System.Collections.Generic.IEnumerator GetEnumerator () говорит:
Возвращает перечислитель что выполняет итерацию с по в коллекции.
Лично я говорю "до конца" ... но на самом деле я не думаю, что имеет значение, какой из них вы используете.
Либо это риторическая тавтология . Вам следует убрать лишний предлог. Как в
«Этот цикл перебирает 10 лучших продуктов»
или, возможно,
«Я повторяю ответы в поисках того, который следует принять»
Я представляю, что что-то «итерация», так я делаю картотечный шкаф. Возможно, это просто личные предпочтения, учитывая мой мысленный образ - я думаю, что «итерация» - более распространенное использование.
Я думаю, что они взаимозаменяемы для большинства практических целей, но в своих комментариях я лично склонен использовать их с небольшим отличием: я интерпретирую как «итерацию» что-то похожее на то, что вы сказали бы: «Я посмотрите на это ". То есть это не глубокая проверка: вы просматриваете ее в поисках чего-то. И наоборот, «итерация» означает целенаправленное прохождение каждого из них.
Итак, если бы я просто искал один элемент в списке, я бы сказал, что «перебираю» список… если бы я применял какое-то преобразование к каждому элементу, это было бы «перебирать».
Важное слово - итерация, неважно, какой наполнитель вы добавите.
По сути, оба означают одно и то же!
Итак, вы можете выбирать, что вам подходит.
Неправильно или нет, просто некоторые статистические данные:
= term = = Google = = Github =
"iterate over" 1,440,000 10,569,846 search results
"iterate through" 908,000 5,605,973
"iterate thru" 44,200 141,982
——————————————————————————————————————————
"iterate on" 402,000 187,576
"iterate in" 63,300 117,962
"iterate across" 10,900 208,342
"iterate within" 8,470 14,577
"iterate along" 8,060 6,396
"iterate among" 5,970 2,960
"iterate against" 2,580 3,255
"iterate inside" 2,450 35,060
"iterate amongst" 406 22,274
"iterate amidst" 66 0
Статистика Google обновлена 25 апреля 2018 г. Последующие поиски показывают, что результаты нестабильны.
Статистика Github обновлена 25 апреля 2018 г. Учитываются только вхождения кода.
Макрос LOOP Common Lisp использует для элемента в списке
, но для элемента в массиве
(это другое, поэтому компилятор может генерировать более эффективный код ... да, это странно), предполагая, что предлог не так уж и важен.
Технически это, вероятно, просто период «итерации». Но очевидно, что вы имеете в виду в любом случае.
Я думаю, это зависит от объекта предлога; вы итерируете через итератор, через коллекцию, через контейнер, через список, через диапазон и т. д., но вы итерируете через (содержимое) списка, через (элементы) контейнера, через (элементы) диапазона, через (элементы) коллекции и т. д. Почти во всех случаях они взаимозаменяемы; единственное место, где я бы использовал "over", но не "through", это в отношении самого итератора; но для любого итерируемого объекта я бы использовал либо "over", либо "through".