#find #iterator #index #predicate #elements #identical #first

find_all

Iterator::find 的一个(几乎)相同的选择,它返回一个包含所有满足给定谓词的元素的 Option<Vec<usize>>(而不是仅仅第一个)

4 个稳定版本

2.0.0 2022年6月29日
1.0.2 2022年6月27日

1856Rust 模式

Download history • Rust 包仓库 20/week @ 2024-04-07 • Rust 包仓库 33/week @ 2024-04-14 • Rust 包仓库 27/week @ 2024-04-21 • Rust 包仓库 23/week @ 2024-04-28 • Rust 包仓库 36/week @ 2024-05-05 • Rust 包仓库 14/week @ 2024-05-12 • Rust 包仓库 32/week @ 2024-05-19 • Rust 包仓库 26/week @ 2024-05-26 • Rust 包仓库 28/week @ 2024-06-02 • Rust 包仓库 10/week @ 2024-06-09 • Rust 包仓库 8/week @ 2024-06-16 • Rust 包仓库 13/week @ 2024-06-23 • Rust 包仓库 2/week @ 2024-06-30 • Rust 包仓库 32/week @ 2024-07-07 • Rust 包仓库 61/week @ 2024-07-14 • Rust 包仓库 70/week @ 2024-07-21 • Rust 包仓库

每月167 次下载

GPL-3.0-only

5KB

find_all

find_all 能够找到满足给定谓词的所有元素的索引,因此旨在提供一个(几乎)与 Option<Vec<usize>> 返回值的简单替代品(而不是 Option<usize>

use find_all::FindAll;
let test_data = [1, 2, 3, 4, 1, 1, 1, 1];
let indexes = test_data.iter().find_all(|num: &&i32| **num == 9);
assert_eq!(indexes, None);

let indexes = test_data.iter().find_all(|num: &&i32| **num == 1);
assert_eq!(indexes, Some(vec![0,4,5,6,7]));

许可证: GPL-3.0-only


lib.rs:

find_all 能够找到满足给定谓词的所有元素的索引,因此旨在提供一个(几乎)与 Option<Vec<usize>> 返回值的简单替代品(而不是 Option<usize>

use find_all::FindAll;
let test_data = [1, 2, 3, 4, 1, 1, 1, 1];
let indexes = test_data.iter().find_all(|num: &&i32| **num == 9);
assert_eq!(indexes, None);

let indexes = test_data.iter().find_all(|num: &&i32| **num == 1);
assert_eq!(indexes, Some(vec![0,4,5,6,7]));

无运行时依赖