You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.8 KiB

## simple_hash
### Instructions
Create a **function** named `contain`, that checks a `HashMap` to see if it contains a given key.
Create a **function** named `remove` that removes a given key from the `HashMap`.
> Pay attention to the comment in the [usage](#usage)
### Expected functions
```rust
pub fn contain(h: &HashMap<&str, i32>, s: &str) -> bool {}
pub fn remove(h: &mut HashMap<&str, i32>, s: &str) {}
```
### Usage
Here is a program to test your function.
```rust
use simple_hash::*;
use std::collections::HashMap;
fn main() {
let mut hash: HashMap<&str, i32> = HashMap::new();
hash.insert("Daniel", 122);
hash.insert("Ashley", 333);
hash.insert("Katie", 334);
hash.insert("Robert", 14);
println!(
"Does the HashMap contains the name Roman? => {}",
contain(hash.clone(), "Roman")
3 years ago
//----------^^^^^^^^
// this is not correct, fix it to match the solution the expected function
);
println!(
"Does the HashMap contains the name Katie? => {}",
contain(hash.clone(), "Katie")
3 years ago
//----------^^^^^^^^
// this is not correct, fix it to match the solution the expected function
);
println!("Removing Robert {:?}", remove(hash.clone(), "Robert"));
println!(
"Does the HashMap contains the name Robert? => {}",
contain(hash.clone(), "Robert")
3 years ago
//----------^^^^^^^^
// this is not correct, fix it to match the solution the expected function
);
println!("Hash {:?}", &hash);
}
```
And its output
```console
$ cargo run
Does the HashMap contains the name Roman? => false
Does the HashMap contains the name Katie? => true
Removing Robert ()
Does the HashMap contains the name Robert? => false
Hash {"Katie": 334, "Daniel": 122, "Ashley": 333}
$
```
### Notions
- [HashMap](https://doc.rust-lang.org/rust-by-example/std/hash.html)