#迭代器 #数据结构 #承诺 #永恒 #迭代 #永恒 #数组

eternal_iterator

实现特质以确保迭代器无限迭代

5 个版本

0.1.4 2022 年 7 月 15 日
0.1.3 2022 年 4 月 20 日
0.1.2 2022 年 4 月 19 日
0.1.1 2022 年 4 月 19 日
0.1.0 2022 年 4 月 18 日

Rust 模式 中排名 1588

MIT 许可证

13KB
203

eternal_iterator

Test Status Crate Docs Minimum rustc version

这个 Rust 包提供 EternalIterator 特质,它承诺迭代器将无限迭代。

let mut it = core::iter::repeat(123_i32).map(|i| i * 2)
		.enumerate().skip(5).step_by(2).zip(core::iter::once(3).chain(10..));
assert_eq!(it.next_eternal(), ((5, 246), 3));
assert_eq!(it.next_eternal(), ((7, 246), 10));
assert_eq!(it.next(), Some(((9, 246), 11)));
assert_eq!(it.next_eternal(), ((11, 246), 12));

生成固定大小的数组

您可以使用 eternal_iterator 初始化任意固定大小的数组。

use eternal_iterator::prelude::*;
let arr: [i32; 5] = (0..).next_array();
assert_eq!(arr, [0, 1, 2, 3, 4]);

无运行时依赖