Rust における不変データバインディング

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、凍結の概念を、データが同じ名前で不変にバインドされた状態として説明します。この状態では、不変バインドがスコープ外になるまで、データを変更することができません。

注: 実験でファイル名が指定されていない場合、好きなファイル名を使用できます。たとえば、main.rs を使用して、rustc main.rs &&./main でコンパイルして実行することができます。

凍結

データが同じ名前で不変にバインドされると、それはまた「凍結」されます。「凍結」されたデータは、不変バインドがスコープ外になるまで変更できません。

fn main() {
    let mut _mutable_integer = 7i32;

    {
        // 不変の `_mutable_integer` によるシャドーイング
        let _mutable_integer = _mutable_integer;

        // エラー!`_mutable_integer` はこのスコープで凍結されています
        _mutable_integer = 50;
        // FIXME ^ この行をコメントアウトしてください

        // `_mutable_integer` がスコープ外になります
    }

    // オッケー!`_mutable_integer` はこのスコープでは凍結されていません
    _mutable_integer = 3;
}

まとめ

おめでとうございます!あなたは凍結の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を練習できます。