洗練された Rust 中級(5)- Option & Result
hatemogi
¥1,422
早割
37%
¥889中級以上 / Rust
New
New
OptionとResultに出会うと、まずunwrap()から使っていませんか?値がない場合と処理が失敗した場合を区別し、map、and_then、?で処理のステップをつなぐ方法を学びます。実行可能な例と総合演習を通して、エラーをどこまで伝播させ、どこで処理するかを自分で判断できるようになります。
中級以上
Rust
matchの分岐が増えるほど、値の構造をどのように確認し、必要な部分だけを取り出せばよいのか混乱しやすくなります。この講義では、タプル・構造体・列挙型・スライスを実際に分解し、if let、let else、マッチガードも活用して、条件を簡潔かつ正確に表現する方法を学びます。参照をパターンとして扱う際に、値がムーブされるのか借用されるのかも、例を通して確認します。
matchと構造分解パターンによって、さまざまな形の値を漏れなく処理できます。
状況に応じて、if let、let else、while letの中から適切な構文を選択できます。
参照パターンを読み、値の移動と借用を区別できます。
Rustではmatchは値に応じてコードを分岐させるだけではありません。タプル・構造体・列挙型の内部の値を取り出して名前を付け、処理されていないケースがないかも確認してくれます。この講義では、短い例を実際に実行しながら、パターンの基本ルールから条件を組み合わせる方法まで、順を追って学びます。
matchと分解パターンに応じて値を分岐し、あらゆるケースを漏れなく扱う方法を身につけます。タプル・構造体・列挙型・スライスを分解しながら、必要な値にだけ名前を付けてみます。 letで使えるパターンと、マッチに失敗する可能性のあるパターンも区別します。
マッチガードの判定順序
if let、let else、while letで1つのケースに集中するコードを書きます。ORパターン・範囲・マッチガード・@バインディングで条件を表現し、参照を分解するときに値がムーブされるのか借用されるのかを確認します。最後に、学んだ構文を小さなコマンド処理の演習に適用します。
スライスパターン
文字列で渡されたコマンドをパターンで区別し、必要な値を取り出して処理する関数を作成します。複数のケースを漏れなく扱えているかをテストで確認し、これまでに学んだ構造分解と分岐構文を実際のコードに適用してみます。
オペレーティングシステムおよびバージョン(OS):Windows、macOS、Linuxなど
使用ツール:rustup、cargo、VS Code
PCスペック: 特別な高性能は必要ありません
オンライン学習教材
GitHubソースコード
우아한プログラミング言語Rustの入門および活用講座の受講を推奨
「優雅なRust」中級シリーズ講義の一部です
学習対象は
誰でしょう?
Rustの基本文法は習得したものの、複雑なmatch式を読んだり書いたりするのが難しい方
列挙型や構造体の値を扱う際に、繰り返し発生する条件チェックのコードを減らしたい方
パターンで ref、&、マッチガードがどのように動作するのかを例で確認したい方
前提知識、
必要でしょうか?
Rustのメモリ所有権モデルに対する理解
Rustの基礎文法を理解する
キャリア認証
2,266
受講生
177
受講レビュー
27
回答
4.7
講座評価
11
講座
関数型プログラミングに関心の高いバックエンド開発者です。カカオの開発チーム長、NHNの主席、LINE+のリードを務め、開発チームのリーディングを行ってきました。また、DnotitiaというAIスタートアップで開発チーム長として働き、Rustでプロジェクトを進めました。
全体
12件 ∙ (1時間 2分)
1. パターンとバインディング
05:56
2. 反駁可能性と完全な分岐
05:09
3. タプル・構造体・列挙型の分解
04:12
4. 条件文パターン
04:37
5. リテラル、範囲マッチング
03:39
6. マッチングガードと@バインディング
05:40
7. スライスパターン
05:35
8. パターン参照の便利な構文
08:13
9. 読みやすいパターン
06:51
10. 総合演習例
02:14
知識共有者の他の講座はこちら
同じ分野の他の講座を見てみましょう!
新規会員登録で25%OFF
¥1,062
25%
¥1,422