pub fn repeat<T>(elt: T) -> Repeat<T> ⓘ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