「The Rust Programming Language」でRustを学ぶ その05 Collections, 例外処理, ジェネリック, トレイト, ライフタイムなど(10章まで)
2025-10-01 12:49:44
- Tags:
- Rust
学校のレポートが忙しくて、ちょっと間が空いたけど。
The Rust Programming Language 日本語版 - The Rust Programming Language 日本語版
の、今回は8章「一般的なコレクション」、9章「エラー処理」、10章「ジェネリック型、トレイト、ライフタイム」
ソースは下記のcollectionsディレクトリと、generic_traitディレクトリ(9章はなし)
ryotakato/rust_the_book_src
久々にRust書くと、まだ慣れていないのもあって、全然どうやって書いたらいいか分からない。
でもなんとなくで書いてコンパイラがエラーでたらそこを直してってやっていくと上手くいく。
どうしても分からなかったのが、
8章の最後で、TUIで雇用者を管理するところで、
何度やってもダンプリングが出てしまう。
ちゃんと所有権と借用が分かっていないからだなと思って、
今までのところを復讐したり、先に10章のライフタイムのところを読んだりして、 何とか理解した。
得られた教訓は、HashMapやVectorなど、データを保持するクラスは参照を持つのではなく、所有権を持つような型にするということ。
つまり、Vec<&str>は書けるけども、後々こまるので、Vec
9,10章読んでいたが、上記で得られた知識は大きい。
なんとなくRustの所有権と借用の使い分けに近づけたような気がする。
なお、10章のライフタイムは理解はできるが、
具体的にどういう場面でないとライフタイムが必要になるのかがちょっと不明。
次はテスト自動化みたい。
There are currently no comments on this article, be the first to add one below
Add a Comment
Note that I may remove comments for any reason, so try to be civil. If you are looking for a response to your comment, either leave your email address or check back on this page periodically.