1. Introduction
  2. 1. Hello World
    ❱
    1. 1.1. コメント
    2. 1.2. フォーマットしてプリント
      ❱
      1. 1.2.1. デバッグ
      2. 1.2.2. ディスプレイ
        ❱
        1. 1.2.2.1. テストケース: リスト
      3. 1.2.3. フォーマット
  3. 2. 基本データ型
    ❱
    1. 2.1. リテラルとオペレータ
    2. 2.2. タプル
    3. 2.3. 配列とスライス
  4. 3. カスタム型
    ❱
    1. 3.1. 構造体
    2. 3.2. 列挙型
      ❱
      1. 3.2.1. use
      2. 3.2.2. C言語ライクな列挙型
      3. 3.2.3. テストケース: 連結リスト
    3. 3.3. 定数
  5. 4. 変数束縛
    ❱
    1. 4.1. ミュータビリティ
    2. 4.2. スコープとシャドーイング
    3. 4.3. 宣言
    4. 4.4. 値の凍結
  6. 5. 型
    ❱
    1. 5.1. 型キャスティング
    2. 5.2. リテラル
    3. 5.3. 型推論
    4. 5.4. エイリアス
  7. 6. 型変換
    ❱
    1. 6.1. FromおよびInto
    2. 6.2. TryFromおよびTryInto
    3. 6.3. Stringとの型変換
  8. 7. 式
  9. 8. 条件分岐
    ❱
    1. 8.1. if/else
    2. 8.2. loop
      ❱
      1. 8.2.1. ネストとラベル
      2. 8.2.2. loopが返す値
    3. 8.3. while
    4. 8.4. for と range
    5. 8.5. match
      ❱
      1. 8.5.1. デストラクト
        ❱
        1. 8.5.1.1. タプル
        2. 8.5.1.2. 列挙型
        3. 8.5.1.3. ポインタとref
        4. 8.5.1.4. 構造体
      2. 8.5.2. ガード
      3. 8.5.3. バインディング
    6. 8.6. if let
    7. 8.7. while let
  10. 9. 関数
    ❱
    1. 9.1. メソッド
    2. 9.2. クロージャ
      ❱
      1. 9.2.1. 要素の捕捉
      2. 9.2.2. 捕捉時の型推論
      3. 9.2.3. クロージャを受け取る関数
      4. 9.2.4. 関数を受け取る関数
      5. 9.2.5. クロージャを返す関数
      6. 9.2.6. stdにおける使用例
        ❱
        1. 9.2.6.1. Iterator::any
        2. 9.2.6.2. Iterator::find
    3. 9.3. 高階関数
    4. 9.4. Diverging functions
  11. 10. モジュール
    ❱
    1. 10.1. プライベートとパブリック
    2. 10.2. 構造体の場合
    3. 10.3. use宣言
    4. 10.4. super と self
    5. 10.5. ファイルの階層構造
  12. 11. クレート
    ❱
    1. 11.1. Creating a Library
    2. 11.2. Using a Library
  13. 12. Cargo
    ❱
    1. 12.1. Dependencies
    2. 12.2. Conventions
    3. 12.3. Tests
    4. 12.4. Build Scripts
  14. 13. アトリビュート
    ❱
    1. 13.1. dead_code
    2. 13.2. クレート
    3. 13.3. cfg
      ❱
      1. 13.3.1. 条件の追加
  15. 14. ジェネリクス
    ❱
    1. 14.1. 関数
    2. 14.2. メソッド
    3. 14.3. ジェネリックトレイト
    4. 14.4. ジェネリック境界
      ❱
      1. 14.4.1. テストケース: 空トレイト
    5. 14.5. 複数のジェネリック境界
    6. 14.6. Where句
    7. 14.7. New Type Idiom
    8. 14.8. 関連型
      ❱
      1. 14.8.1. 関連型が必要になる状況
      2. 14.8.2. 関連型
    9. 14.9. 幽霊型パラメータ
      ❱
      1. 14.9.1. テストケース: 単位を扱う
  16. 15. スコーピングの規則
    ❱
    1. 15.1. RAII
    2. 15.2. 所有権とムーブ
      ❱
      1. 15.2.1. ミュータビリティ
      2. 15.2.2. Partial moves
    3. 15.3. 借用
      ❱
      1. 15.3.1. ミュータビリティ
      2. 15.3.2. エイリアス
      3. 15.3.3. refパターン
    4. 15.4. ライフタイム
      ❱
      1. 15.4.1. 明示的アノテーション
      2. 15.4.2. 関数
      3. 15.4.3. メソッド
      4. 15.4.4. 構造体
      5. 15.4.5. Traits
      6. 15.4.6. ライフタイム境界
      7. 15.4.7. 圧縮
      8. 15.4.8. スタティックライフタイム
      9. 15.4.9. 省略
  17. 16. トレイト
    ❱
    1. 16.1. 継承(Derive)
    2. 16.2. Returning Traits with dyn
    3. 16.3. 演算子のオーバーロード
    4. 16.4. メモリ解放
    5. 16.5. イテレータ
    6. 16.6. impl Trait
    7. 16.7. クローン
    8. 16.8. Supertraits
    9. 16.9. Disambiguating overlapping traits
  18. 17. macro_rules!
    ❱
    1. 17.1. 構文
      ❱
      1. 17.1.1. 識別子
      2. 17.1.2. オーバーロード
      3. 17.1.3. 繰り返し
    2. 17.2. DRY (Don't Repeat Yourself)
    3. 17.3. Domain Specific Languages (ドメイン特化言語、DSLs)
    4. 17.4. 可変個引数
  19. 18. エラーハンドリング
    ❱
    1. 18.1. panic
    2. 18.2. Option と unwrap
      ❱
      1. 18.2.1. ?によるOptionのアンパック
      2. 18.2.2. Combinators: map
      3. 18.2.3. Combinators: and_then
    3. 18.3. Result
      ❱
      1. 18.3.1. Resultのmap
      2. 18.3.2. Resultに対するエイリアス
      3. 18.3.3. 早期リターン
      4. 18.3.4. ?の導入
    4. 18.4. 複数のエラー型
      ❱
      1. 18.4.1. OptionからResultを取り出す
      2. 18.4.2. エラー型を定義する
      3. 18.4.3. エラーをBoxする
      4. 18.4.4. ?の他の活用法
      5. 18.4.5. エラーをラップする
    5. 18.5. Resultをイテレートする
  20. 19. 標準ライブラリの型
    ❱
    1. 19.1. Box, スタックとヒープ
    2. 19.2. ベクタ型
    3. 19.3. 文字列
    4. 19.4. Option
    5. 19.5. Result
      ❱
      1. 19.5.1. ?
    6. 19.6. panic!
    7. 19.7. ハッシュマップ
      ❱
      1. 19.7.1. key型の変種
      2. 19.7.2. ハッシュ集合
    8. 19.8. Rc
    9. 19.9. Arc
  21. 20. 標準ライブラリのその他
    ❱
    1. 20.1. スレッド
      ❱
      1. 20.1.1. Testcase: map-reduce
    2. 20.2. チャネル
    3. 20.3. Path
    4. 20.4. ファイル I/O
      ❱
      1. 20.4.1. open
      2. 20.4.2. create
      3. 20.4.3. read lines
    5. 20.5. 子プロセス
      ❱
      1. 20.5.1. パイプ
      2. 20.5.2. dropの延期
    6. 20.6. ファイルシステムとのやり取り
    7. 20.7. 引数処理
      ❱
      1. 20.7.1. 引数のパース
    8. 20.8. 他言語関数インターフェイス
  22. 21. Testing
    ❱
    1. 21.1. Unit testing
    2. 21.2. Documentation testing
    3. 21.3. Integration testing
    4. 21.4. Dev-dependencies
  23. 22. 安全でない操作
  24. 23. Compatibility
    ❱
    1. 23.1. Raw identifiers
  25. 24. 周辺情報
    ❱
    1. 24.1. ドキュメンテーション
    2. 24.2. Playpen

Rust By Example 日本語版

デストラクト

matchは値をさまざまなやり方でデストラクトすることができます。

  • タプルのデストラクト
  • 列挙型のデストラクト
  • ポインタのデストラクト
  • 構造体のデストラクト
関連キーワード:  デストラクト, 関数, Result, By, Example, Rust, エラー, Option, テストケース, ミュータビリティ