我思考了一下,这两种说法有语义上的区别吗?还是我们可以自由选择?
编辑 我接受了@roygbivs的回答,因为大多数答案建议选择哪个是个人口味问题,并且它并不真正改变含义。在这种情况下,既然through和over都没有任何信息(在特定语境中),它们可以被省略。
我思考了一下,这两种说法有语义上的区别吗?还是我们可以自由选择?
编辑 我接受了@roygbivs的回答,因为大多数答案建议选择哪个是个人口味问题,并且它并不真正改变含义。在这种情况下,既然through和over都没有任何信息(在特定语境中),它们可以被省略。
重要的词是迭代,你用什么填充它并不重要。
我随机使用两个词,有时在同一个句子中。省略连接词是不好的语法,也都没有意义。
字典上说,“iterate”是一个及物动词,意思是“再说一遍;重复”。
你会“repeat over”刚才说的话吗?还是“repeat through”它?我认为你只会简单地重复它。或者按照你的喜好,直接迭代它。
话虽如此,如果你把“iterate”用作“loop”的某种同义词……也许是逐个迭代数据,那么也许你就是在“iterating through”。这是一个雷区!
我认为在大多数实际情况下它们是可以互换的,但在我的注释中,我个人倾向于使用它们有些细微的区别:我解释“迭代”某物类似于你会说“我会查看它”的感觉。也就是说,这不是一个深入的检查:你正在浏览它寻找某些东西。相反,“遍历”则是有目的地逐个进行。
因此,如果我只是在列表中搜索一项内容,那么我会说我正在“迭代”该列表......如果我对每个项目应用某种转换,则会是“遍历”。
通用Lisp的LOOP宏使用for element in list
,但是使用for element across array
(这是不同的,所以编译器可以生成更有效的代码...是的,很奇怪),表明前置词并不是真正重要的。