当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust repeat用法及代码示例


本文简要介绍rust语言中 Function std::iter::repeat 的用法。

用法

pub fn repeat<T>(elt: T) -> Repeat<T> where    T: Clone,

创建一个无限重复单个元素的新迭代器。

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

repeat() 这样的无限迭代器经常与像 Iterator::take() 这样的适配器一起使用,以使它们成为有限的。

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

例子

基本用法:

use std::iter;

// the number four 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());

// yup, still four
assert_eq!(Some(4), fours.next());

使用 Iterator::take() 变得有限:

use std::iter;

// that last example was too many fours. Let's only have four fours.
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());

// ... and now we're done
assert_eq!(None, four_fours.next());

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Function std::iter::repeat。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。