diff options
author | garhve <git@garhve.com> | 2022-12-30 13:47:02 +0800 |
---|---|---|
committer | garhve <git@garhve.com> | 2022-12-30 13:47:02 +0800 |
commit | 7fdb9249afe07c75ad8bea568195a3a8d979d73a (patch) | |
tree | 7360a15557b767071917204a1868b5672372dcb5 /rust/theBook/chapter-8-common-collections/hash/src | |
parent | 8a8302fa5d94425c01b358de57c071d32af6b7ed (diff) |
finish chapter 8
Diffstat (limited to 'rust/theBook/chapter-8-common-collections/hash/src')
-rw-r--r-- | rust/theBook/chapter-8-common-collections/hash/src/main.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/rust/theBook/chapter-8-common-collections/hash/src/main.rs b/rust/theBook/chapter-8-common-collections/hash/src/main.rs new file mode 100644 index 0000000..d1e9a4c --- /dev/null +++ b/rust/theBook/chapter-8-common-collections/hash/src/main.rs @@ -0,0 +1,30 @@ +use std::collections::HashMap as hm; + +fn main() { + let mut scores = hm::new(); + + scores.insert(String::from("yellow"),10); + scores.insert(String::from("blue"),50); + + let tm = String::from("blue"); + + let score = scores.get(&tm).copied().unwrap_or(0); + + println!("{score}"); + + count_word(); +} + + +fn count_word() { + let text = "hello world wonderful world"; + + let mut hp = hm::new(); + + for word in text.split_whitespace() { + let count = hp.entry(word).or_insert(0); // or_insert return reference + *count += 1; + } + + println!("{:#?}", hp); +} |