1 个不稳定版本
0.1.0 | 2022年6月23日 |
---|
#2007 在 Rust 模式
10KB
174 行
Contains
Contains 包含 2 个 trait:Container 和 In。
Container
Container trait 可以用于抽象可以包含项的类型:Vec<T>
,&[T]
,HashMap<T>
,Option<T>
等。
use contains::Container;
let vec = vec![1, 2, 3, 4, 5];
let range = 0..5;
let option = Some(3);
let containers: &[&dyn Container<usize>] = &[&vec, &range, &option];
for container in containers {
assert!(container.does_contain(&3));
}
In
In trait 是 Container trait 的逆,表示一个在容器中的类型。主要通过提供 is_in
方法来反转调用顺序。
use contains::{Container, In};
let range = 0..5;
assert!(range.does_contain(&3)); // using does_contain
assert!(3.is_in(&range)); // using in
lib.rs
:
Contains
Contains 包含 2 个 trait:Container 和 In。
Container
Container trait 可以用于抽象可以包含项的类型:Vec<T>
,&[T]
,HashMap<T>
,Option<T>
等。
use contains::Container;
let vec = vec![1, 2, 3, 4, 5];
let range = 0..5;
let option = Some(3);
let containers: &[&dyn Container<usize>] = &[&vec, &range, &option];
for container in containers {
assert!(container.does_contain(&3));
}
In
In trait 是 Container trait 的逆,表示一个在容器中的类型。主要通过提供 is_in
方法来反转调用顺序。
use contains::{Container, In};
let range = 0..5;
assert!(range.does_contain(&3)); // using does_contain
assert!(3.is_in(&range)); // using in