1 个不稳定版本
0.1.0 | 2021年5月24日 |
---|
#2050 在 Rust模式
19KB
407 行
iter-opt-filter ──
此crate为迭代器添加可选过滤器。它试图解决的问题是可以在运行时启用/禁用多个过滤器的组合。
示例
use iter_opt_filter::IteratorOptionalFilterExt;
let mut iter = (0..3)
.optional_filter(Some(|&item: &usize| item % 2 == 0))
.optional_filter(None::<fn(&usize) -> bool>)
.optional_filter(Some(|&item: &usize| item > 1));
assert_eq!(iter.next(), Some(2));
assert_eq!(iter.next(), None);
lib.rs
:
此库通过[IteratorOptionalFilterExt]扩展特质为所有[迭代器][Iterator]提供optional_filter。
optional_filter接受一个Option<fn(&item) -> bool>
,这使得条件过滤变得容易。然而,与正常的filter或内部[迭代器]本身相比,这会带来性能成本。但它通常比Box<dyn Iterator>
快。
请参阅optional_filter方法的示例。