11 个版本 (5 个稳定版)
1.8.0 | 2021年7月5日 |
---|---|
1.5.0 | 2021年5月1日 |
1.4.0 | 2021年3月25日 |
1.3.0 | 2021年1月11日 |
0.1.0 | 2019年3月15日 |
#12 in #拥有
每月下载量 48
被 2 crates 使用
13KB
209 行代码
Array Iterator (已废弃)
std::array::IntoIter 现在是稳定的,请使用它代替!. 我将继续维护这个crate,但计划在未来发布一个更新,该更新将产生废弃警告。
迁移
您可以使用 comby 轻松迁移。
comby \
'array_iterator::ArrayIterator::new(:[args])' \
'std::array::IntoIter::new(:[args])' \
.rs -in-place
您也可以删除依赖。这可以使用 cargo-edit 自动完成。
cargo rm array_iterator
cargo check
文档
lib.rs
:
这个crate已废弃,因为这个功能自1.15.0起已在std中实现。请使用 std::array::IntoIter::new
代替。
fn pair_iter(a: i32, b: i32) -> impl Iterator<Item=i32> {
std::array::IntoIter::new([a, b])
}
这个crate将继续在未来一段时间内接收错误和安全修复。不会添加新功能、文档或其他更改。
以下为之前的文档
允许从数组创建拥有型迭代器。这对于固定大小的迭代器非常有用。尝试编写以下函数
fn pair_iter(a: i32, b: i32) -> impl Iterator<Item=i32> {
unimplemented!()
}
这是因为大多数迭代器不拥有它们正在迭代的值。一个解决方案是
fn pair_iter(a: i32, b: i32) -> impl Iterator<Item=i32> {
Some(a).into_iter().chain(Some(b))
}
assert_eq!(pair_iter(1, 2).collect::<Vec<_>>(), &[1, 2]);
这个crate允许将数组转换为拥有型迭代器,非常适合短、固定大小的迭代器。
use array_iterator::ArrayIterator;
fn pair_iter(a: i32, b: i32) -> impl Iterator<Item=i32> {
ArrayIterator::new([a, b])
}
assert_eq!(pair_iter(1, 2).collect::<Vec<_>>(), &[1, 2]);