pub struct IntoIter(/* private fields */);展开描述
一个遍历 TokenStream 的 TokenTrees 的迭代器。迭代是“浅层”的,例如,迭代器不会递归进入分隔的组,而是将整个组作为 token tree 返回。
特性实现§
从 Rust 1.29.0 版本开始稳定 · 源代码§impl Iterator for IntoIter
impl Iterator for IntoIter
源代码§fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,
fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,
🔬这是一个仅限 Nightly 版本的实验性 API。(
iter_next_chunk #98326)推进迭代器并返回包含接下来的
N 个值的数组。 阅读更多源代码§fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
🔬这是一个仅限 Nightly 版本的实验性 API。(
iter_advance_by #77404)将迭代器向前推进
n 个元素。 阅读更多从 Rust 1.28.0 版本开始稳定 · 源代码§fn step_by(self, step: usize) -> StepBy<Self>where Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self>where Self: Sized,
创建一个从同一点开始,但在每次迭代时按给定步长前进的迭代器。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
接收两个迭代器,并创建一个按顺序遍历两者的迭代器。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where Self: Sized, U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where Self: Sized, U: IntoIterator,
将两个迭代器“压缩”成一个包含对的迭代器。 阅读更多
源代码§fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
🔬这是一个仅限 Nightly 版本的实验性 API。(
iter_intersperse #79524)创建一个新的迭代器,它在原始迭代器的相邻项之间放置
separator 的副本。 阅读更多源代码§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
🔬这是一个仅限 Nightly 版本的实验性 API。(
iter_intersperse #79524)创建一个新的迭代器,它在原始迭代器的相邻项之间放置由
separator 生成的项。 阅读更多从 Rust 1.0.0 版本开始稳定 · 源代码§fn map<B, F>(self, f: F) -> Map<Self, F>
fn map<B, F>(self, f: F) -> Map<Self, F>
接受一个闭包,并创建一个迭代器,该迭代器在每个元素上调用该闭包。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn filter<P>(self, predicate: P) -> Filter<Self, P>
fn filter<P>(self, predicate: P) -> Filter<Self, P>
创建一个使用闭包来确定是否应生成元素的迭代器。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
创建一个既过滤又映射的迭代器。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn enumerate(self) -> Enumerate<Self>where Self: Sized,
fn enumerate(self) -> Enumerate<Self>where Self: Sized,
创建一个提供当前迭代计数以及下一个值的迭代器。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
创建一个根据谓词跳过元素的迭代器。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
创建一个根据谓词生成元素的迭代器。 阅读更多
从 Rust 1.57.0 版本开始稳定 · 源代码§fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
创建一个既根据谓词生成元素又进行映射的迭代器。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn skip(self, n: usize) -> Skip<Self>where Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where Self: Sized,
创建一个跳过前
n 个元素的迭代器。 阅读更多从 Rust 1.0.0 版本开始稳定 · 源代码§fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
创建一个像 map 一样工作但会展平嵌套结构的迭代器。 阅读更多
源代码§fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
🔬这是一个仅限 Nightly 版本的实验性 API。(
iter_map_windows #87155)对于 `self` 上大小为 `N` 的每个连续窗口,调用给定函数 `f`,并返回一个遍历 `f` 输出的迭代器。与
slice::windows() 一样,映射过程中的窗口也会重叠。 阅读更多从 Rust 1.0.0 版本开始稳定 · 源代码§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
对迭代器的每个元素执行某种操作,并将值传递下去。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
为该
Iterator 实例创建一个“按引用”适配器。 阅读更多源代码§fn collect_into<E>(self, collection: &mut E) -> &mut E
fn collect_into<E>(self, collection: &mut E) -> &mut E
🔬这是一个仅限 Nightly 版本的实验性 API。(
iter_collect_into #94780)将迭代器中的所有项收集到集合中。 阅读更多
源代码§fn is_partitioned<P>(self, predicate: P) -> bool
fn is_partitioned<P>(self, predicate: P) -> bool
🔬这是一个仅限 Nightly 版本的实验性 API。(
iter_is_partitioned #62544)从 Rust 1.27.0 版本开始稳定 · 源代码§fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
一个迭代器方法,只要函数成功返回,就应用该函数,产生一个单一的最终值。 阅读更多
从 Rust 1.27.0 版本开始稳定 · 源代码§fn try_for_each<F, R>(&mut self, f: F) -> R
fn try_for_each<F, R>(&mut self, f: F) -> R
一个迭代器方法,对迭代器中的每个项应用一个可能失败的函数,并在遇到第一个错误时停止并返回该错误。 阅读更多
从 Rust 1.0.0 版本开始稳定 · 源代码§fn fold<B, F>(self, init: B, f: F) -> B
fn fold<B, F>(self, init: B, f: F) -> B
通过应用一个操作将每个元素折叠到一个累加器中,返回最终结果。 阅读更多
源代码§fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
🔬这是一个仅限 Nightly 版本的实验性 API。(
iterator_try_reduce #87053)通过重复应用归约操作,将元素归约为单个值。如果闭包返回失败,则该失败会立即传播回调用者。 阅读更多
返回根据指定比较函数产生最小值的元素。 阅读更多从 Rust 1.0.0 版本开始稳定 · 源代码§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
从 Rust 1.0.0 版本开始稳定 · 源代码§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
按 字典序 比较此 Iterator 的 PartialOrd 元素与另一个迭代器的元素。比较方式类似于短路求值,无需比较剩余元素即可返回结果。一旦可以确定顺序,评估就会停止并返回结果。 阅读更多源代码§
Iterator 的 PartialOrd 元素与另一个迭代器的元素。比较方式类似于短路求值,无需比较剩余元素即可返回结果。一旦可以确定顺序,评估就会停止并返回结果。 阅读更多源代码§
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
确定此 Iterator 的元素是否按 字典序 大于或等于另一个迭代器的元素。 阅读更多从 Rust 1.82.0 版本开始稳定 · 源代码§fn is_sorted_by<F>(self, compare: F) -> bool
Iterator 的元素是否按 字典序 大于或等于另一个迭代器的元素。 阅读更多从 Rust 1.82.0 版本开始稳定 · 源代码§fn is_sorted_by<F>(self, compare: F) -> bool
检查此迭代器的元素是否使用给定的比较函数进行排序。 阅读更多从 Rust 1.82.0 版本开始稳定 · 源代码§fn is_sorted_by_key<F, K>(self, f: F) -> bool
从 Rust 1.82.0 版本开始稳定 · 源代码§fn is_sorted_by_key<F, K>(self, f: F) -> bool
检查此迭代器的元素是否使用给定的键提取函数进行排序。 阅读更多
§
impl Freeze for IntoIter
impl RefUnwindSafe for IntoIter
impl !Send for IntoIter
impl !Sync for IntoIter
impl Unpin for IntoIter
impl UnwindSafe for IntoIter
从拥有值进行不可变借用。 阅读更多源代码§impl<T> Borrow<T> for T
源代码§impl<T> Borrow<T> for T
impl<T> BorrowMut<T> for T源代码§
源代码§
fn borrow_mut(&mut self) -> &mut T
从拥有值进行可变借用。 阅读更多源代码§impl<T> CloneToUninit for T
源代码§impl<T> CloneToUninit for T
也就是说,此转换取决于 From<T> for U 的实现选择执行的操作。源代码§impl<I> IntoIterator for I
From<T> for U 的实现选择执行的操作。