rust迭代器的position()和rposition()之间有什么区别,有什么原因吗?

rust迭代器的position()和rposition()之间有什么区别,有什么原因吗?,rust,iterator,Rust,Iterator,所以我浏览了迭代器函数(因为它们很酷),我注意到有两个函数似乎做了完全相同的事情,除了一个函数使用ExactSizeIterator 而其他人则不然 使用一个函数而不是另一个函数的用例是什么? position从开头开始,一直向前,直到找到匹配的元素并返回其位置。这不需要知道总共有多少个元素,因此Iterator就足够了 rposition从末尾开始,向后移动,直到找到匹配的元素,并返回其位置(从开头!)。因为位置是从迭代器的开头返回的(将其视为可用的切片索引),所以它需要确切地知道迭代器中有多

所以我浏览了迭代器函数(因为它们很酷),我注意到有两个函数似乎做了完全相同的事情,除了一个函数使用
ExactSizeIterator
而其他人则不然

使用一个函数而不是另一个函数的用例是什么?

  • position
    从开头开始,一直向前,直到找到匹配的元素并返回其位置。这不需要知道总共有多少个元素,因此
    Iterator
    就足够了
  • rposition
    从末尾开始,向后移动,直到找到匹配的元素,并返回其位置(从开头!)。因为位置是从迭代器的开头返回的(将其视为可用的切片索引),所以它需要确切地知道迭代器中有多少元素,因此需要
    ExactSizeIterator
      • position
        从开头开始,一直向前,直到找到匹配的元素并返回其位置。这不需要知道总共有多少个元素,因此
        Iterator
        就足够了
      • rposition
        从末尾开始,向后移动,直到找到匹配的元素,并返回其位置(从开头!)。因为位置是从迭代器的开头返回的(将其视为可用的切片索引),所以它需要确切地知道迭代器中有多少元素,因此需要
        ExactSizeIterator

      啊,这就是
      r
      的意思!谢谢:)啊,这就是
      r
      的意思!谢谢:)