Last active
March 18, 2020 17:16
-
-
Save NebulaFox/b13476b7369c521faa8f9788bc8f869a to your computer and use it in GitHub Desktop.
Vec contains solution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fn contains<T, Q>(arr: &[T], value: &Q) -> bool | |
where | |
T: std::cmp::PartialEq<Q>, | |
{ | |
arr.iter().any(|v| v == value) | |
} | |
fn main() { | |
let array_str = ["a", "b", "c"]; | |
let array_string = ["a".to_string(), "b".to_string(), "c".to_string()]; | |
let value_str = "b"; | |
let value_string = String::from(value_str); | |
let result_str = contains(&array_str, &value_string); | |
let result_string = contains(&array_string, &value_str); | |
let result_literal = contains(&array_string, &"b"); // needs an & | |
println!( | |
"result: {} {} {}", | |
result_str, result_string, result_literal | |
); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment