はじめに
この実験では、Rust における変数束縛、そのスコープ、およびシャドーイングの概念について学びます。変数束縛は、波括弧で囲まれた文のコレクションであるブロックに限定されます。これらの概念を示すために 2 つの例が用意されています。最初の例は、ブロック内で宣言された変数束縛がそのブロックのスコープに限定され、その外ではアクセスできないことを示しています。2 番目の例は、同じ名前の新しい束縛がブロック内で宣言され、外側の束縛を実質的にシャドーイングする変数シャドーイングを示しています。
注: 実験でファイル名が指定されていない場合、好きなファイル名を使用できます。たとえば、
main.rs
を使用して、rustc main.rs &&./main
でコンパイルして実行できます。
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
rust(("Rust")) -.-> rust/BasicConceptsGroup(["Basic Concepts"])
rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"])
rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"])
rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"])
rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations")
rust/DataTypesGroup -.-> rust/string_type("String Type")
rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax")
rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements")
rust/MemorySafetyandManagementGroup -.-> rust/lifetime_specifiers("Lifetime Specifiers")
subgraph Lab Skills
rust/variable_declarations -.-> lab-99292{{"スコープとシャドーイング"}}
rust/string_type -.-> lab-99292{{"スコープとシャドーイング"}}
rust/function_syntax -.-> lab-99292{{"スコープとシャドーイング"}}
rust/expressions_statements -.-> lab-99292{{"スコープとシャドーイング"}}
rust/lifetime_specifiers -.-> lab-99292{{"スコープとシャドーイング"}}
end