はじめに
この実験では、凍結の概念を、データが同じ名前で不変にバインドされた状態として説明します。この状態では、不変バインドがスコープ外になるまで、データを変更することができません。
注: 実験でファイル名が指定されていない場合、好きなファイル名を使用できます。たとえば、
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 でさらに多くの実験を練習できます。