読書ノート - プログラミングRust
プログラミングRustの読書ノートです。
正誤表
ノート
第1章
-
P3 セミコロン必要な言語久々だ・・・
-
P7 Mac での rust の入れ方・・・
- rustup.rs (書籍で紹介されているやり方)
- brew install rust
- brew install rustup-init
第2章
-
P15 文字列テンプレート意味不・・・
- ➝ P403, P405
-
P17
Cargo.toml
手で編集するんだ・・・- バージョンとかは crates.io で調べて記入するかんじ?
-
package
セクションのauthors
は勝手に入る模様、おそらく git のuser.name
,user.email
かな
-
P23 「プログラムがコンパイルできたのなら、データ競合は起きない。」まじか。
- データ競合 (data race) は起きないが、競合状態 (race condition) は起こりうる。そりゃそうだ。 (参考: Data Races and Race Conditions)
-
P26 第4段落4行目「原点近辺の起動を永遠に回り続けるのかを判断し、」の「起動」は「軌道」かも
- ➝ 要 Errata 報告?
-
P34
?
は普通のフローで例外を再現した感じ?- Go のような冗長なコードにならない良さはあるけど、所見の人には分かりづらさがあるかも。
第3章
-
P44
v
の定義で型引数を省略できるのは戻り値に使ってるからか!- コンパイラは関数のお尻まで見て推論するわけね、優秀すぎ
- こんなことやってるからコンパイル遅いのでは
-
P51 i8 -> i16 とか完全に互換でも暗黙的型変換が行われないのはつらいかも
- 言語仕様の一貫性を重視しているといえる
- P50 でほとんどといっているのは気になる
-
P55
&String
がレフストリングと読むのはわかった。わかったけど、もっと早く書いてくれ!- どうせ
*String
も適切な読み方があるのだろうけど、書いてくれていない
- どうせ
参考リンク
- Rust トピックがついた GitHub のスター数 https://github.com/topics/rust?o=desc&s=stars