Function std::iter::repeat1.0.0[][src]

pub fn repeat<T>(elt: T) -> Repeat<T>
Notable traits for Repeat<A>
impl<A> Iterator for Repeat<A> where
    A: Clone
type Item = A;
where
    T: Clone
Expand description

创建一个新的迭代器,该迭代器不断重复单个元素。

repeat() 函数一次又一次地重复单个值。

无限迭代器 (如 repeat()) 通常与适配器 (如 Iterator::take()) 一起使用,以使其具有有限性。

如果所需的迭代器元素类型未实现 Clone,或者不想将重复的元素保留在内存中,则可以改用 repeat_with() 函数。

Examples

基本用法:

use std::iter;

// 第四个 4ever:
let mut fours = iter::repeat(4);

assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());

// 是的,还是四个
assert_eq!(Some(4), fours.next());
Run

Iterator::take() 进行有限化:

use std::iter;

// 最后一个例子太多了。我们只有四个四。
let mut four_fours = iter::repeat(4).take(4);

assert_eq!(Some(4), four_fours.next());
assert_eq!(Some(4), four_fours.next());
assert_eq!(Some(4), four_fours.next());
assert_eq!(Some(4), four_fours.next());

// ... 现在我们完成了
assert_eq!(None, four_fours.next());
Run