シャドーイング パート1
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 46/75。
異なるスコープ内であれば、以前の変数と同じ名前で新しい変数を宣言することができます。新しい変数は、そのスコープが終了するまで以前の変数をシャドーイング(隠蔽)します。
fn main() {
let x = 5;
{
let x = 12;
// 外側のxをシャドーイングします
println!("{}", x);
// "12"を表示します
}
println!("{}", x);
// "5"を表示します
}チャレンジ
初心者シャドーイングの概念を実演するRustプログラムを作成してください。以下の手順を実行します:
xという名前の変数を宣言し、値5で初期化します。xの値を、次の形式でコンソールに出力します:x is: …- 新しいスコープ内で、元の
xに3を加えた新しい値でxをシャドーイングします。 - シャドーイングされた
xを、次の形式で出力します:x is: … - 最後に、スコープの外側で
xを次の形式で出力します:x is: …
チートシート
異なるスコープ内であれば、以前の変数と同じ名前で新しい変数を宣言することができます。新しい変数は、そのスコープが終了するまで以前の変数をシャドーイング(隠蔽)します:
fn main() {
let x = 5;
{
let x = 12;
// 外側のxをシャドーイングします
println!("{}", x);
// "12"を出力します
}
println!("{}", x);
// "5"を出力します
}自分で試してみよう
fn main() {
// xを宣言し、5で初期化する
// xの値を表示する
{
// 元のxに3を足した値でxをシャドーイングする
// シャドーイングされたxの値を表示する
}
// 外側のxの値を表示する
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。