Rust は「コストのかかるコードは書くのが苦痛であるべき」という思想のもとデザインされている気がする。 というのも Rust を書いていると「意図的にショートカットが用意されていない」と思える場面があるからだ。 いくつか例を挙げてみようと思う。 文字列の連結 String 型の変数 s を所有しているときに、s の 後ろに 文字列リテラルを連結するのは簡単だ。+ 演算子で文字列の連結ができる。 let mut s = String::from("hello"); s = s + ", world"; println!("{}", s); // => hello, world 一方で s の 前に 連結するには一手間必要になる。 let mut s = String::from("world"); s = "hello, ".to_string() + &s; println!("{}",