土曜日です。
充分な睡眠をとったので体調のよさがありました(非労は正義)(日記勢に健康のよくなさが目立つので心配)(どうか人々によりいっそうの非労が訪れてほしい)。
散髪に行き、衣類の購入をやり、ピアノをやりました。
難解(ラブライブ!サンシャイン!!のこと)(ツイ非真面目勢への配慮)(なら最初からきちんと書けばいいのでは)、ブレンド・S、キラ☆プリを視聴しました。
アイカツスターズライブBDの1日目の視聴が終わりました。極めてよかった・・・。アイカツシリーズは歌唱部分は声優さんではないのですが、ライブBDを見るとそれもむべなるかなという気持ちです。極めてよかった・・・(2回め)。
FEH の投票大戦を楽しみました。性騎士つよい・・・(ツイ参)。
久々に Rust(chapter 8 練習問題3)をやりました。記憶の失われが激しかったものの、なんとか問題を解けました。しかし Rust 力が低いのでよい書き方ではないかもしれない・・・。
寝ます。
chapter8_3/src/main.rs
use std::collections::HashMap; use std::cmp::Ordering; fn main() { let mut c = Company { employees: HashMap::new() }; c.add_employee("Add Sally to Engineering"); c.add_employee("Add Amir to Sales."); println!("{:?}", c.get_employee_names(Some("Engineering"))); println!("{:?}", c.get_employee_names(Some("Sales"))); println!("{:?}", c.get_employee_names(None)); } struct Company { employees: HashMap<String, String>, } impl Company { fn add_employee(&mut self, sentence: &str) { let words: Vec<&str> = sentence.split( |c| c == ' ' || c == '.' ).collect(); self.employees.insert( String::from(words[1]), String::from(words[3]), ); } fn get_employee_names(&self, department: Option<&str>) -> Vec<&String> { let mut employees_vec: Vec<(&String, &String)> = self.employees.iter().collect(); employees_vec.sort_by(|a, b| a.0.cmp(b.0)); let mut names = Vec::new(); for employee in employees_vec.iter() { match department { None => names.push(employee.0), Some(x) => { if let Ordering::Equal = employee.1.cmp(&x.to_string()) { names.push(employee.0); } } } } names } }