Skip to content

Instantly share code, notes, and snippets.

@NebulaFox
Last active March 18, 2020 17:16
Show Gist options
  • Save NebulaFox/b13476b7369c521faa8f9788bc8f869a to your computer and use it in GitHub Desktop.
Save NebulaFox/b13476b7369c521faa8f9788bc8f869a to your computer and use it in GitHub Desktop.
Vec contains solution
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