想一想。是否有语义上的区别,或者我们可以自由选择吗?
编辑我接受了@roygbivs answer,因为大多数答案都表明这是一个值得选择的问题,而且它并没有真正改变其含义。在这种情况下,由于到和 over 根本不携带任何信息(在特定的上下文中),因此可以省略它们。
答案 0 :(得分:70)
“通过”和“结束”是无用的副词。
示例:
在迭代此集合时,我的代码会抛出错误。
此代码迭代集合。
您的任务是编写迭代集合的代码。
就像说“向北”或“向南”。 “向上”和“向下”都没用。相反,你应该说,“我将在夏天去北方。”或“在南方,他们种植棉花。”
答案 1 :(得分:42)
不对或错,只是一些统计数据:
= 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统计信息于4/25/2018更新。随后的搜索显示结果不稳定 Github统计数据于4/25/2018更新。仅计算代码出现次数。 子>
答案 2 :(得分:17)
我认为这取决于介词的对象;你遍历迭代器,集合,容器,列表,范围等等,但你遍历(内容)列表,通过(元素)容器,通过(元素) )范围,通过(元素)集合等。在几乎所有情况下,它们是可互换的;我唯一可以使用“over”而不是“through”的地方就迭代器本身而言;但是对于任何可迭代的对象,我都会使用“over”或“through”。
答案 3 :(得分:15)
我想说迭代,这就是我一直看到的方式。
答案 4 :(得分:7)
两者基本上都是一样的!
所以,您可以自由选择适合自己的人。
答案 5 :(得分:2)
我总是说“迭代超过”因为它强调了(相对重要的)事实,即迭代器本身不包含在作为迭代主题的容器中。
对我说“迭代”,意味着人们依次看着容器的每个元素,这实际上并不是真的。
相反,说“迭代”意味着我依次接收容器的每个元素的外部句柄, 真正发生了什么。
然而,没有任何错误的与“迭代”,任何理解迭代器的人肯定会理解这两个短语。
答案 6 :(得分:1)
从技术上讲,它可能只是“迭代”时期。但在任何一种情况下,你的意思都很明显。
答案 7 :(得分:1)
我使用“循环结束”。简单。
答案 8 :(得分:1)
答案 9 :(得分:0)
有更好的方法。
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.
这就像“有”这个词一样,可以经常将整个信号减少到一个单词。
为什么不保持迭代迭代,像这样 - &gt;圆,三角形,八角形,五边形,六边形。
答案 10 :(得分:0)
System.Collections.Generic.IEnumerator GetEnumerator()的摘要文本说:
返回一个枚举器 迭代到集合。
就我个人而言......但实际上我认为你使用哪一个并不重要。
答案 11 :(得分:0)
Common Lisp的LOOP宏使用for element in list
,但是for element across array
(它不同,所以编译器可以生成更高效的代码......是的,这很奇怪),这表明介词不是那么重要
答案 12 :(得分:0)
我认为它们在大多数实际用途中是可以互换的,但在我的评论中,我个人倾向于使用它们的一个小区别:我解释为“迭代”某些东西类似于你会说的意思“我会看看它“。也就是说,这不是一个深刻的检查:你正在浏览它寻找的东西。相反,“迭代”是指有目的地经历每一个。
因此,如果我只是在列表中搜索一个项目,我会说我正在“迭代”列表.....如果我对每个项目应用了一些转换,那么它将“迭代”。 / p>
答案 13 :(得分:0)
字典说“迭代”是一个及物动词,意思是“说或做再做;重复”。
你会“重复”你刚刚说过的话,或者“重复一遍”吗?我想你只是重复一遍。或者只是简单地迭代它,如你所愿。
话虽如此,如果你使用“iterate”作为“循环”的某种同义词......一次循环数据一次,也许,那么也许你正在“迭代”。这是一个雷区!
答案 14 :(得分:0)
我随意使用,有时在同一个句子中。删除连接词是不好的语法,也没有意义。
答案 15 :(得分:0)
我想象“迭代”某事,就像我做文件柜一样。也许这只是个人偏好,但鉴于我的心理形象 - 我认为“迭代过度”是更常见的用法。
答案 16 :(得分:0)
重要的一个词是迭代,你用它填充的填充物无关紧要。