【问题标题】:What is the difference between position() and rposition() for rust iterators and is there any reason for it?rust 迭代器的 position() 和 rposition() 有什么区别,有什么原因吗?
【发布时间】:2021-02-27 21:14:22
【问题描述】:

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

使用一个功能而不是另一个功能的用例是什么?

【问题讨论】:

    标签: rust iterator


    【解决方案1】:
    • position 从头开始​​,一直向前直到找到匹配的元素,并返回它的位置。这不需要知道总共有多少个元素,因此Iterator 就足够了。
    • rposition 从末尾开始,然后向后退,直到找到匹配的元素,然后返回它的位置(从头开始!)。因为位置是从迭代器的开头返回的(将其视为可用作切片索引),它需要准确知道迭代器中有多少元素,因此需要ExactSizeIterator

    【讨论】:

    • 啊,这就是r 的含义!谢谢:)
    猜你喜欢
    • 2010-11-04
    • 2012-06-14
    • 2011-07-17
    • 2020-11-01
    • 2013-04-26
    • 2013-11-16
    • 1970-01-01
    • 2019-10-25
    • 2010-10-27
    相关资源
    最近更新 更多