gpt4 book ai didi

iterator - 将迭代器与(固定大小的)数组进行比较

转载 作者:行者123 更新时间:2023-11-29 08:05:20 24 4
gpt4 key购买 nike

我构建了一个生成无限素数列表的迭代器。类型如下所示:

pub struct Primes { … }

impl Iterator for Primes {
type Item = u32;
fn next(&mut self) -> Option<Self::Item> { … }
}

现在我想通过比较来测试我的迭代器是否返回正确的值前 100 个值与正确值的对比:

#[test]
fn first_thousand() {
assert_eq!(
Primes::new().take(100),
first_100_primes
);
}

const first_100_primes: [u32; 100] = [2, 3, …, 541];

我不知道如何比较这些值。我尝试创建一个切片 (first_100_primes[..]),收集迭代器值,但我似乎无法比较它们。

最佳答案

let is_correct = Primes::new()
.zip(FIRST_100_PRIMES.iter())
.all(|(a, &b)| a == b);
assert!(is_correct);

关于iterator - 将迭代器与(固定大小的)数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com