7 个版本 (2 个稳定)
使用旧的 Rust 2015
1.0.1 | 2016 年 7 月 30 日 |
---|---|
0.2.4 | 2016 年 6 月 28 日 |
#4 在 #exhaustive
每月 24 次下载
用于 2 个 crate(通过 tile_net)
6KB
140 行
interleave-rs
Interleave 是一个宏,允许您创建一个交错其输入迭代器的迭代器。
创建这个库的原因是 Itertools 只提供二进制交错。
行为
在交错器返回 None 之前,所有迭代器都会被耗尽(返回 None)。
lib.rs
:
此 crate 允许您创建任意交错迭代器。每个迭代器都保证不会比最先进的迭代器落后超过一个 next() 调用。交错宏是任意阶的。
#[macro_use]
extern crate interleave;
fn main() {
use interleave::{IterList, MultiIter};
let iter = interleave!(1..5, 9..12, -3..2);
for i in iter {
println!("{:?}", i);
}
}
迭代器返回的类型也可以强制指定
#[macro_use]
extern crate interleave;
fn main() {
use interleave::{IterList, MultiIter};
let iter = interleave!(i8; 1..5, 9..12, -3..2);
for i in iter {
println!("{:?}", i);
}
}
大部分信息可以在示例或测试模块中找到。
依赖项
~0–700KB
~20K SLoC