是“迭代遍历”还是“迭代遍历”?

只是想一想,有语义上的区别吗,还是我们可以自由选择?

我接受了 @ roygbivs 回答,因为大多数的答案表明,选择哪一个是一个品味的问题,它并没有真正改变意义。在这种情况下,由于 通过结束了根本不携带任何信息(在特定的上下文中) ,它们可以被忽略。

45226 次浏览

两者的本质意思是一样的!

所以,你可以自由选择任何适合你的。

我会说迭代,这就是我一直看到的写作方式。

从技术上来说,它可能只是“迭代”周期,但是很明显你在这两种情况下的意思是什么。

重要的是迭代,你用它来填充什么并不重要。

我想象着“迭代”什么东西,就像我做文件柜一样。也许这只是个人偏好,考虑到我的心理形象-我认为“迭代结束”是更常见的用法。

我认为这取决于介词的对象; 迭代遍历迭代器、集合、容器、列表、范围等等,但是迭代遍历列表的内容、容器的元素、范围的元素、集合的元素等等。在几乎所有情况下,它们都是可互换的; 我使用“ over”而不使用“ through”的唯一地方是关于迭代器本身的; 但是对于任何可迭代的对象,我会使用“ over”或“ through”。

“ through”和“ over”都是没用的副词。

例子:

  • 在迭代此集合时,我的代码抛出一个错误。

  • 此代码迭代集合。

  • 您的任务是编写迭代集合的代码。

这就像说“上北”或“下南”。“上”和“下”都没用。相反,你应该说: “我夏天要去北方。”或者“在南方,他们种植棉花”

我总是说“迭代 结束了”,因为它强调了一个(相对重要的)事实,即迭代器本身不包含在作为迭代主题的容器中。

对我来说,说“迭代遍历”意味着依次查看容器的每个元素,而实际情况并非如此。

相反,对我来说,说“ iterate over”意味着依次接收到容器的每个元素的外部句柄,而这正是 所发生的。

然而,错了中没有“迭代遍历”,任何了解迭代器的人肯定都能理解这两个短语。

我会随意使用这两个词,有时候会用在同一个句子里。删除连接词是不好的语法,也没有意义。

字典上说“ iterate”是一个及物动词,意思是“重复说或做”。

你会“重复”你刚才说的话,还是“重复”它?我觉得你应该重复一遍。或者根据您的喜好,只是简单地迭代它。

话虽如此,如果您使用“ iterate”作为“ loop”的某种同义词... ... 一次一个迭代地遍历数据,也许,那么也许您正在“迭代遍历”。这是雷区!

我认为它们在大多数实际用途上是可以互换的,但是在我的评论中,我个人倾向于使用它们的一个小区别: 我解释为“迭代”一些东西,类似于你会说“我会看看它”的意思。也就是说,这不是一个深入的检查: 你浏览它寻找的东西。相反,“迭代遍历”就是有目的地遍历每一个步骤。

因此,如果我只是在一个列表中搜索一个项目,我会说我正在“迭代”该列表... ... 如果我正在对每个项目应用某种转换,它将是“迭代通过”。

不是对或错,只是一些数据:

= 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

谷歌在2018年4月25日更新了统计数据,随后的搜索显示结果是不稳定的。
Github 统计在2018年4月25日更新,只计算代码出现次数。

任何一个都是修辞 同义反复。你应该删除多余的介词

“此循环迭代前10个产品”

或者,也许

“我在重复寻找答案”

我用的是“循环”很简单。

Common Lisp 的 LOOP 宏使用 for element in list,但是 for element across array(它是不同的,所以编译器可以生成更高效的代码... ... 是的,这很奇怪) ,这表明介词并不真的那么重要。

System.Collections.Generic.IEnumeratorGetEnumerator ()的摘要文本说明:

返回一个枚举数,该枚举数 迭代 通过集合。

就我个人而言,我说通过... 但是我真的不认为你用哪一个有什么关系。

还有更好的办法。

J's members are dissimilar, but all can be incremented.
Having incremented every member of 'J' ...
J contains incrementable elements.
J refers to several items.
J refrances several items.
Everything in J is incrementable.
Everything J refers to should necessarily be thought of as being storable in a set.
Sequentially referring to J's contents ...
Apply between each element of J and R until all possible compatible pairs have been found.
Ask J using it's 'ask' function to sequentially apply addition between it's contents and return the result.

就像“有”这个词,经常可以把整个句子缩减为一个单词。

为什么不为迭代保持迭代,像这样-> 圆形,三角形,八角形,五角形,六角形。